开玩笑我超勇的啦
开玩笑我超勇的啦
全部文章
题解
Golang(3)
Java基础(7)
查漏补缺(1)
踩坑实录(1)
归档
标签
去牛客网
登录
/
注册
在杰难逃
我房间里有好康的~
全部文章
/ 题解
(共6篇)
【LC234】回文链表
这道题可以分解为寻找链表中间节点+翻转链表: 先找到链表的中间节点,从中间节点开始翻转后半段链表,再从head和tail同时遍历看两段链表是否一致 以下是代码: /** * Definition for singly-linked list. * public class ListNode { ...
2020-07-13
0
650
LC46 - 全排列, 以及类似的dfs+回溯问题分析
好几次笔试面试碰到全排列问题了,这回来把它彻底吃透。 [1, 2, 3]这个序列我们要找到他的所有排列方式,那么先用树的形式把它表示出来:这就是上述问题的决策树了,从根结点到每一个叶子结点就是一种排列方式,我们要做的就是把这颗决策树用代码表示出来。 那么这里用到的方法就是dfs+回溯法,有一个通用的...
2020-05-16
0
770
LC31 - 下一个排列
这题直接举个例子更直观{1, 5, 8, 4, 7, 6, 5, 3, 1} 这样一个序列,我们想找比他大的下一个排序,那么首先要从后往前找第一个非升序的数字,也就是a[i] < a[i+1]的第一个(如果整个数组都是降序排列,说明它已经是最大的排列了,直接反转数组得到第一个排列),于是我们找...
2020-05-13
0
598
LC279 - 完全平方数
https://leetcode-cn.com/problems/perfect-squares/submissions/ 这是一道和硬币问题类似的拿/不拿/拿多少的问题,可以用动态规划解决,首先维护一个大小为n+1的数组a,a[i] = i (因为最坏情况是a[i] = i个1*1),然后求他的递...
2020-05-13
0
575
LC322 - 硬币兑换
这道题类似背包问题,取或不取,也可取多个,可以用自底向上的动态规划解决,首先可以将递归式列出。 F(0) = 0;F(n) = Min{F(n - a[0]), F(n - a[1]), F(n - a[2]), ... F(n - a[a.length - 1])} + 1;其中a为硬币数组。 代...
2020-04-29
0
653
LC56 - 合并区间
两个区间合并一共有六种可能首先要把它们都转换成第一行的三种情况,那么就需要保证第一个区间的开始小于第二个区间的开始,于是我们需要把所有区间按开始的大小排序,之后再按这三种情况讨论。以下是代码 class Solution { public int[][] merge(int[][] inte...
2020-04-28
0
614