code_java
code_java
全部文章
分类
题解(13)
归档
标签
去牛客网
登录
/
注册
code_java的博客
全部文章
(共13篇)
乘积数组
构建乘积数组: 构建左右乘积表: 左乘积表表示A中位置i以前的所有元素乘积。对于i=0,由于左侧无元素,设为1 右乘积表表示A中位置i以后的所有元素乘积。对于i=n-1,由于左侧无元素,设为1 最终结果为左右乘积表对应位置相乘即可 public int[] multiply(int[] ...
2020-12-24
0
342
数组中重复的数字
解题思路:借助集合 设一个集合,用于存放已经遍历过且没有重复的元素,便于之后遍历时判断是否有重复。做法如下: 遍历数组,若集合不包含该元素,加入集合 若集合包含该元素,表示该元素之前有被访问过,且是第一个重复的元素,直接返回 最后若都没有重复的,表示数组中无重复元素 public boo...
2020-12-24
0
410
圆圈中最后剩下的数
题目描述题目抽象:给定一个由[0...n-1]构成的数组,第一次从0开始数m个数,然后删除,以后每次都从删除的数下一个位置开始数m个数,然后删除,直到剩余一个数字,找出那个数字。比如:arr = [0 1 2 3 4], m = 3第一次:删除2 ,变成 arr = [0 1 3 4]第二次,删除0...
2020-12-23
0
473
翻转单词顺序列
题目抽象:给定一个首尾可能带空格的字符串,请让你翻转该字符串。首尾不能有多余空格。如果全部是空格,请返回原字符串。 实现拆分单词的操作。一个单词为:从不是空格的字符开始到是空格的前一个字符结束,即为一个单词。 借助栈来存放分离出来的单词 public static String ReverseS...
2020-12-23
0
395
字符循环左移
题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!...
2020-12-23
0
391
双指针法
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。返回值描述:对应每个测试案例,输出两个数,小的先输出。###求解方法:双指针 1.初始化:指针l指向数组头, 指针r指向数组尾2. 如果array[l] + arr...
2020-12-23
0
408
和为S的连续整数序列
暴力求解 注意到连续和最大的情况是sum/2+sum/2+1.且这是针对sum为奇数。 public static ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) { Arra...
2020-12-22
0
407
判断平衡二叉树
递归做法: 这道题最好结合树的深度那道题做。二叉树深度在树的深度中,我们已经得到了一个求解树的深度的递归函数。在本题中,我们可以设一个boolean值,在递归求解深度的函数中,顺便加上一个判断:即若左子树和右子树的高度相差大于1,则不平衡,布尔值变为false boolean flag = true...
2020-12-22
0
393
二叉树深度
递归求解: 递归结束条件:节点为空,则其深度为0否则以root为根节点的子树的深度等于1加上左右子树的深度大的那一个 public int TreeDepth(TreeNode root) { if (root == null) { return 0;...
2020-12-22
0
395
第一个只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置,如果没有则返回 -1(需要区分大小写).(从0开始计数) /** * 求解思路:借助哈希表 * 首先遍历字符串,得出每个字符出现的次数 ...
2020-12-21
0
329
首页
上一页
1
2
下一页
末页