因为题目要求参数只能使用int,所以这里不讨论Java的日期特性. 思路分析: 首先闰年的年份2月为29天,平年2月为28天,所以要先判断输入的年份是闰年还是平年,判断方式是:如果年份能够被4…
标签:算法
算法设计与分析作业(一)实现几种不同情形的二分查找
实现几种不同情形的二分查找。 1). 求等于x的最小的index,不存在返回-1。 输入: 3 5 5 7 7 10 11…
2019-03-14-算法-进化(移动零)
题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额…
leetcode950_按递增顺序显示卡牌
思路: 模拟一下操作的行为,由于操作的最后,得到的数组是有序的,根据规则: 索引0对应最小的卡片,索引2对应第二最小的卡片,索引4对应第三最小的卡片,等等 用双向队列模拟行为 ,对原数组进行排序,即为最终结…
剑指Offer(三):从尾到头打印链表[链表]
牛客网刷题笔记记录。 一.题目 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 二.思路分析 链表的遍历方式为从前往后,要求的输出为从后往前。这明显是一个先进后出的问题,由此想到利用栈进行解决本问题。 …
插入排序(InsertingSort)
插入排序: 以下面的数组arry 为例: 90 ,41 ,57 ,71 ,93 ,29 ,35 ,14 ,64 ,16 先以arry[0]为基准。 外层第一次循环: 定义临时变量temp = arry[1] = 41 第…
bruteForce 暴力匹配算法
目录 一、代码 二、结果 一、代码 #include <stdio.h> #include <string.h> int test() { const char* src = "BBCABCDAB…
leetcode-0145-Binary-Tree-Postorder-Traversal
二叉树后序遍历 #include <iostream> #include <vector> using namespace std; /// Definition for a binary tre…
二分查找
不对称边界(指针形式): int* binary_search(int *t, int n, int x){ int *lo = t; int *hi = t + n; while(lo < hi){ // <…
CF_1113C_Sasha and a Bit of Relax:(扫盲:区间异或)
题意:就是求一段[l,r]使得r-l+1是偶数且 a_l⊕a_l+1⊕…⊕a_mid=a_mid+1⊕a_mid+2⊕…⊕a_r的区间。 解法:如果A^B=C, 那么A=B^C,(两边都是异或上B,自己异或自己等于0),…
机试准备(二)——排序
时间限制: 常见1s,代表百万级运算级。比如:估计可以知道,n>3000,则不能使用冒泡排序(O( N 2 N^2 N2))。 掌握算法: 冒泡排序、快排等。 STL库用法 例子: 链接:https://www.n…
【剑指offer】面试题49:丑数
题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 @事无钜细,悉究本末 评论…