牛客631798768号
牛客631798768号
全部文章
分类
动态规划(2)
链表(2)
题解(28)
归档
标签
去牛客网
登录
/
注册
牛客631798768号的博客
全部文章
(共36篇)
题解 | #数组中只出现一次的两个数字#
记录方法。使用位运算。先对所有数字进行一次异或,得到两个出现一次的数字的异或值。在异或结果中找到为1的最低一位的位置。(这个二进制数中是1的二进制位暗含了什么个意思呢?分析不难知道,二进制位是1,就表示这两个数字在这个二进制位上的数是不同的。所以,这就是我们划分两个数到不同组的依据。)根据这一位对所...
算法
2021-07-26
0
376
题解 | #数组中只出现一次的两个数字#
记录一下做法。使用map方法(遍历): import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array...
算法
2021-07-26
0
340
题解 | #坐标移动#
import java.util.HashMap; import java.util.Scanner; /** * 坐标移动(字符串)华为 * A左,D右,W上,S下(从0,0开始) * */ public class Main { public static void main...
算法
2021-07-25
1
643
题解 | #字符串分隔#
import java.util.Scanner; /** * 字符串分隔: * •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; * •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 *输入: abc * 123456789 * * 输出:...
算法
2021-07-25
0
487
题解 | #求int型正整数在内存中存储时1的个数#
import java.util.*; public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int num ...
算法
2021-07-25
1
395
题解 | #字符逆序#
import java.util.*; //将字符串转成charArray,然后使用交换法来完成反转 public class Main{ public static void main(String[] args){ Scanner scanner = new Scanne...
算法
2021-07-24
1
484
【剑指 の 精选】详解「删除链表中重复结点」的两种解法
迭代解法 首先一个比较「直观且通用」的思路是,采用「边遍历边构造」的方式: 建一个「虚拟头节点」dummy 以减少边界判断,往后的答案链表会接在 dummy 后面; 使用 tail 代表当前有效链表的结尾; 通过原输入的 pHead 指针进行链表扫描。 对原链表进行遍历,只要原链表尚未到达结尾,...
算法
2021-07-01
31
2756
题解 | #最长公共子串-动态规划#
动态规划 对于字符串str1(长度为m)和str2(长度为n),我们可以使用一个二维整形数组(m * n)实现动态规划算法。 思路:dp[i][j]:表示在str1中以坐标i结尾的子串与str2中以坐标j结尾的子串,最长公共子串的长度(从i,j的位置往前推) 递推方程: 如果str1第i个字符不等...
算法
2021-04-25
6
1041
表示数值的字符串,剑指经典解法!!!
/* 参考剑指offer,改动了一些小部分。 数值可以表示为 A[.[B]]e|E[C] 其中A 和C 可以带有正负号,B不能带有符号 A可以没有,B也可以没有,不过在'.'的情况下 在e|E ,B是必须有的,所以这就是在判断str[index]=='.' 和s...
算法
2021-03-19
8
976
最长递增子序列白话文解释
非原创,百度一波总结下来的: 一共需要两个辅助数组和一个辅助变量: dp数组:用来存储位置i对应的最长子序列的长度 end数组:用来存储长度为i的子序列的最后一个元素的最小值 len:用来记录当前找到的最长子序列的长度 举个例子 [3,2,5,8,6,7] end数组: i=0: 3...
算法
2020-10-22
81
3481
首页
上一页
1
2
3
4
下一页
末页