LifelongCode
LifelongCode
全部文章
题解
知识点总结(3)
秋招面经(15)
归档
标签
去牛客网
登录
/
注册
LifelongCode的博客
全部文章
/ 题解
(共110篇)
JZ64:滑动窗口的最大值
来自专栏
解法1:暴力求解 public static ArrayList<Integer> maxInWindows(int[] nums,int size){ ArrayList<Integer> res=new ArrayList<>(); ...
2021-07-10
1
724
JZ16:合并两个排序的链表
来自专栏
方法1:递归的方法: 如果表1当前值小于表2当前值,表1当前值成为新链表的表头,否则返回表2的当前值作为新链表的表头。比较当前链表的值,较小的取其子链表继续递归。当有一个链表取到子链表为空时,说明已经比较完成,可以直接返回非空的链表,返回值赋给了l1.next或者l2.next,但无论如何,最终还是...
2021-07-04
0
593
NC70:单链表的排序
来自专栏
解法1:归并排序 思路:先利用快慢指针找出链表的中点,然后分为两个链表,一直分,知道无法分为止,然后自底而上排序归并 public ListNode sortInList (ListNode head) { // write code here return merg...
2021-06-22
0
851
NC21:链表内指定区间反转
来自专栏
解法1:双指针法 pre先走m-1步到达位置m的前驱节点,pre不动,然后令cur等于pre->next也就是位置m的起始节点(不变),将[m+1,n]这段链表由前至后的插入到位置m的前面,也就是pre的后面即:我们每次循环就是将cur的next节点插入到pre的后面,这样插了n-m次后,就完...
2021-06-22
1
798
NC23:划分链表
来自专栏
解法1:模拟 public ListNode partition (ListNode head, int x) { // write code here ListNode small=new ListNode(0); ListNode smallH...
2021-06-21
0
577
NC60:判断一棵树是否为搜索二叉树和完全二叉树
来自专栏
二叉搜索树:每个节点左边节点小于右边节点,左子树的最大值一定小于根节点,小于右子树的最大值;通过中序遍历,严格递增 完全二叉树:层序遍历,除了最后的一层,每层都是满的 import java.util.*; /* * public class TreeNode { * int val = 0;...
2021-06-15
0
803
NC144:不相邻最大子序列和
来自专栏
解法1:动态规划 设置一个状态转移数组dp,dp[i]表示数组中前i个元素所能偷的最大金额是多少状态转移表达式:(1)对于当前的元素arr[i],如果偷,那么dp[i] = dp[i-2] + arr[i](2)如果不偷,那么dp[i] = dp[i-1] public long subse...
2021-06-06
0
764
NC148:几步可以从头跳到尾
来自专栏
贪心算法:每次取局部最优解 解法1:从左向右逼近终点 一个记录当前位置,一个记录最远跳跃位置,一个记录跳跃次数,遍历数组(不需要遍历到最后一位,如果遍历到最后一位,那么正好跳到最后一位的时候就会多加一次跳跃次数),每当当前位置和索引i相等时(即当前位置最后一种跳法跳完时),将最远跳跃位置赋值给当前位...
2021-06-06
1
904
NC105:二分查找-II
来自专栏
res=-1,首先找到中间的数 nums[mid]==target说明右边都是>=target的数、更新res,right=mid-1 nums[mid]>target说明右边都是>target的数,right=mid-1 nums[mid]<target说明左边都是<...
2021-06-05
0
502
NC35:最小编辑代价
来自专栏
解法1:暴力递归 对于给定的单词 A 和 B,从左向右逐个匹配:①对于 A 中当前遍历到的字符 A[i],如果和 B[j] 相同,则不需要任何操作,继续向右遍历 i+1, j+1②如果 A[i] != B[j],则可以删除 A[i],或者替换 A[i],或者插入和 B[j] 相同的字符,因此存在三种...
2021-06-04
0
1148
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页