牛客631798768号
牛客631798768号
全部文章
分类
动态规划(2)
链表(2)
题解(28)
归档
标签
去牛客网
登录
/
注册
牛客631798768号的博客
全部文章
(共36篇)
链表的环形问题。
一、返回单向有环链表中第一个入环的节点: 1.方法一:使用set。 思路:如果有环,那么遍历链表,某个节点被遍历到第二次的时候他就是第一个入环的节点。使用set,遍历加入set,若某个节点之前被添加过了(第一次重复),将这个节点返回。 2.方法二:使用快慢指针。 1)慢指针slow(一次走一步),快...
数据结构
算法
2021-08-11
0
462
题解 | #复杂链表的复制#
方法一:用map来做是思路最简单的。1.首先根据原链表,复制一份一模一样的链表节点存到map中。其中键为原链表的节点,值为复制后的节点。2.根据原链表的指向关系,去构建map中复制链表节点的结构。 /* public class RandomListNode { int label; ...
算法
数据结构
2021-08-11
0
334
题解 | #数组中出现次数超过一半的数字#
消减法。设置两个变量空间:candidate表示候选数,HP表示候选数出现的次数,基这两个变量来统计。遍历数组,把两个不同的数消去,相同的数记录出现的次数,进行叠加。 public class Solution { public int MoreThanHalfNum_Solution(in...
算法
2021-08-10
0
354
题解 | #不用加减乘除做加法#
使用位运算。核心问题在于处理进位问题。 异或用来做不带进位的加法,(num1 & num2)<< 1用来处理进位。定义一个变量用来记录进位的情况。说明:1.使用与运算可以判断出哪个位置上需要进行进位,然后左移表示将进位进到需进位的位置上;2.处理进位的方法:将异或的结果与【与运算...
算法
2021-08-06
0
397
题解 | #数组中重复的数字#
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 ...
算法
2021-08-06
0
335
题解 | #删除链表中重复的结点#
记录题解快慢指针法。利用快指针,过滤掉重复的节点;使用慢指针构造出没有重复节点的新链表。 public class Solution { public ListNode deleteDuplication(ListNode pHead) { ListNode pre = ne...
算法
2021-08-06
0
350
连续子数组的最大和
记录题解。当前数字加上前一个数(实际上是连续个数字的和),若前一个数字是负数,那么一定使当前数字变小(也一定使当前数字之后的子序列和变小),也就是使得和变小,此时就不进行累加了,而是从当前数字开始新的子序列累加。使用一个max变量来存储过程中的最大值,最后返回。 public class Solut...
算法
2021-08-05
0
440
题解 | #二进制中1的个数#
记录题解。两个二进制的相加结果是用一个异或门实现的;两个二进制的进位结果是用一个与门来实现的。 public class Solution { public int Add(int num1,int num2) { int result = 0; int ...
算法
2021-08-01
0
395
题解 | #二进制中1的个数#
记录题解。首先明白 负数在二进制运算中是以补码的形式进行的(正数其实就是他本身),那么让其不断进行无符号的右移 并和1进行与运算,便能统计出 二进制中 1 的个数了。 public class Solution { public int NumberOf1(int n){ i...
算法
2021-07-28
0
392
题解 | #数值的整数次方#
记录题解。将次方数看作是二进制形式,然后使用位运算方法。 public double Power(double base, int exponent) { if (exponent < 0){//如果exponent是负数,就调整成正数 base = ...
算法
2021-07-27
0
340
首页
上一页
1
2
3
4
下一页
末页