于1111
于1111
全部文章
分类
题解(53)
归档
标签
去牛客网
登录
/
注册
于1111的博客
全部文章
(共53篇)
去除二进制最后的一个1.n&(n-1)
去除掉二进制最右边的一个1. n&(n-1) /** * 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 * @param n 整数 * @return 1的个数 */ public int NumberOf1...
2020-09-05
0
584
与爬台阶问题一致
初始状态单独枚举,符合公式的才进入循环。i=3; /** * 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。 * 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? * @param target n个2*1的小矩形 *...
2020-09-05
0
593
每个台阶有跳与不跳两种选择,最后一级必须存在
数学法,跳与不跳。2^(n-1). 递归:f(n)=2f(n-1),初始条件:target==1,n=1; /** * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。 * @param targ...
2020-09-05
0
473
初始条件不同,循环从第三项开始。
初始条件需要独立枚举,n从3开始。 /** * 一只青蛙一次可以跳上1级台阶,也可以跳上2级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 * @param target n级的台阶 * @return 跳法总数。 ...
2020-09-05
0
494
当只与前1个或者2个状态有关系时,可以使用变量来简化。
请注意控制循环次数,循环次数应该去除掉初始变量的次数。 /** * 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项 * (从0开始,第0项为0,第1项是1)。 * n<=39 * @param n 整数n ...
2020-09-05
0
452
与右边界的值比较
寻找min。分为左部分的有序子数组和右部分的有序子数组。当nums[mid]<nums[right]时,最小值的上边界应该为mid.当>时,说明旋转点在右边。left=mid+1。当相等时,不一定(有重复元素),此时需要缩小范围后重试right-- /** * 把一个数...
2020-09-05
0
576
一个栈只负责入队,另一个只负责出队
一个栈只负责入队,另一个只负责出队,只only!! Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); ...
2020-09-05
0
504
元素的索引的保存--Map
根据根节点在中序遍历的位置去划分左右子树,然后递归,注意,每次会生成一个根节点,所以元素个数需要减一。 元素与索引的关系可以使用map保存,这样就不需要遍历了。 /** * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 * 假设输入的前序遍历和中序遍历的结果...
2020-09-05
0
510
链表的递归理解:头结点+剩余链表
逆序 1.使用stack。2.递归. 递归理解:先到达尾部节点,然后再添加。 结果保存:成员变量。 /** * 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 * @param listNode 链表 * @return 逆序后的结果。 ...
2020-09-05
0
482
当从前到后出现覆盖情况时,请考虑从后往前!!!
调用系统函数:s.replace() 创建新的字符串,遇到空格时追加"%20" 原地修改,从后往前,需要首先知道空格的个数。 /** * 将一个字符串中的每个空格替换成“%20” * @param str 字符串 * @return 替换后的字符串 *...
2020-09-05
0
618
首页
上一页
1
2
3
4
5
6
下一页
末页