LifelongCode
LifelongCode
全部文章
题解
知识点总结(3)
秋招面经(15)
归档
标签
去牛客网
登录
/
注册
LifelongCode的博客
全部文章
/ 题解
(共110篇)
JZ46:孩子们的游戏(圆圈中最后剩下的数)
来自专栏
解法1:数学 + 迭代+递归 反推过程:(当前index + m) % 上一轮剩余数字的个数最终剩下一个人时的安全位置肯定为1,反推安全位置在人数为n时的编号人数为1: 0人数为2: (0+m) % 2人数为3: ((0+m) % 2 + m) % 3人数为4: (((0+m) % 2 + m) %...
2021-05-26
0
636
题解 | #左旋转字符串#
来自专栏
方法1:三次翻转 public class Solution { public String LeftRotateString(String str,int n) { if(str.length()==0 || n>=str.length()){ ...
2021-05-26
0
385
JZ40:数组中只出现一次的两个数字
来自专栏
方法1:使用哈希表存储不重复的数字 import java.util.HashMap; public static void FindNumsAppearOnce1(int[] array,int[] num1,int[] num2){ HashMap<integer,inte...
2021-05-26
0
500
JZ41:和为S的连续正数序列
来自专栏
思路:连续序列的最大数big,最小数small;区间之和为Sum import java.util.ArrayList; public ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum){ ...
2021-05-26
0
487
JZ39:平衡二叉树
来自专栏
思路:空树,或者左右子树的深度差不超过1; public boolean isBalanceTree(TreeNode root){ return getDepth(root)!=-1; } public int getDepth(TreeNode root){ ...
2021-05-26
0
442
JZ37:数字在升序数组中出现的次数
来自专栏
方法1:遍历,时间复杂度为O(n); public static int GetNumberOfK1(int [] array , int k){ if(array.length==0){ return 0; } int...
2021-05-25
0
454
JZ33:丑数
来自专栏
//-----------运行超时-------------https://www.jianshu.com/p/a56fc45c1c9a----------- //所谓一个数m是另一个数n的因子,是指n能被m整除,也就是说n%m==0. //根据丑数的定义,丑数只能被2,3,5整除。...
2021-05-24
0
536
JZ30:连续子数组的最大和
来自专栏
解法1:不是看当前的值,而是看当前的累计值, 如果当前累计为负数,那么加上现在这个数,肯定和就小了,所以继续从当前开始累计,如果为正,那就继续加,但是要时刻保存下最大值来,因为后面的累计有可能小。 public int FindGreatestSumOfSubArray(int[] array) {...
2021-05-24
0
516
JZ27:字符串的排列
来自专栏
思路:每次都把一个数固定在前面,让后面的数递归地进行全排列,这样每个数都固定过以后就能找出所有排列。关键的地方在于,我们把每个数固定在前面并让后面的进行全排列完毕以后,要恢复原来的状态,也就需要交换回来。 import java.util.ArrayList; import java.util.C...
2021-05-23
0
451
JZ26:二叉搜索树与双向链表
来自专栏
/**二叉搜索树的中序遍历就是递增的排序,所以就运用中序遍历方法来做。 * 算法思想: * 中序遍历的步骤,只不过在递归的中间部分不是输出节点值,而是调整指针指向。 * 10 * /\ * 5 12 * /\ ...
2021-05-23
0
608
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页