牛客631798768号
牛客631798768号
全部文章
分类
动态规划(2)
链表(2)
题解(28)
归档
标签
去牛客网
登录
/
注册
牛客631798768号的博客
全部文章
(共32篇)
题解 | #最长无重复子数组#
使用map集合辅助。key存放当前数字,value存放当前数字的下一个索引。其实就是滑动窗口的意思。在遍历的过程中根据重复数字更新窗口的大小。(与不含重复字符的最长子串是一样的思路) import java.util.*; public class Solution { /** ...
算法
数据结构
2021-08-17
0
318
无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 private int lengthOfLongestSubstring(String s) { int n = s.length(), ans = 0; Map<Character...
字符串
算法
2021-08-17
1
491
题解 | #字符串排序#
调用API。容易想。有大佬知道不用API的方法吗? //华为机试 import java.util.*; public class Main{ public static void main(String[] args){ Scanner scanner = new Sca...
算法
字符串
2021-08-13
1
1031
题解 | #单词倒排#
方法一: 使用正则表达式匹配非字母字符进行字符串分割,然后逆序输出。 public class DanCiNiXu2 { public static void main(String[] args) { Scanner scanner = new Scanner(Syste...
算法
字符串
2021-08-12
0
230
链表的环形问题。
一、返回单向有环链表中第一个入环的节点: 1.方法一:使用set。 思路:如果有环,那么遍历链表,某个节点被遍历到第二次的时候他就是第一个入环的节点。使用set,遍历加入set,若某个节点之前被添加过了(第一次重复),将这个节点返回。 2.方法二:使用快慢指针。 1)慢指针slow(一次走一步),快...
数据结构
算法
2021-08-11
0
380
题解 | #复杂链表的复制#
方法一:用map来做是思路最简单的。1.首先根据原链表,复制一份一模一样的链表节点存到map中。其中键为原链表的节点,值为复制后的节点。2.根据原链表的指向关系,去构建map中复制链表节点的结构。 /* public class RandomListNode { int label; ...
算法
数据结构
2021-08-11
0
250
关于链表的几种解法。快慢指针。
关于链表的几种解法。快慢指针。 package algorithmoftenuse; /** * 链表问题: * 1.返回奇数长度的中点,偶数长度的上中点 * 2.返回奇数长度的中点,偶数长度的下中点 * 3.返回奇数长度中点的前一个,偶数长度的上中点前一个 * 4.返回奇数长度中点的前...
数据结构
2021-08-11
0
316
题解 | #反转链表#
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { ...
数据结构
2021-08-10
0
339
题解 | #数组中出现次数超过一半的数字#
消减法。设置两个变量空间:candidate表示候选数,HP表示候选数出现的次数,基这两个变量来统计。遍历数组,把两个不同的数消去,相同的数记录出现的次数,进行叠加。 public class Solution { public int MoreThanHalfNum_Solution(in...
算法
2021-08-10
0
267
题解 | #不用加减乘除做加法#
使用位运算。核心问题在于处理进位问题。 异或用来做不带进位的加法,(num1 & num2)<< 1用来处理进位。定义一个变量用来记录进位的情况。说明:1.使用与运算可以判断出哪个位置上需要进行进位,然后左移表示将进位进到需进位的位置上;2.处理进位的方法:将异或的结果与【与运算...
算法
2021-08-06
0
311
首页
上一页
1
2
3
4
下一页
末页