摘要:
思路1:二次遍历(暴力法) 第一次遍历链表得到链表长,第二次遍历链表以从数组末端开始往前加入链表。 代码: 时间复杂度O(n),空间复杂度O(1) /** * Definition for singly-linked list. * public class ListNode { * int val 阅读全文
摘要:
思路1:滑动窗口 设置一个滑动窗口与一个HashSet,用set来维护一个不重复的窗口。 即当窗口右边界遇到窗口内重复的字符时,左边界移动至右边界处。 res保存最大窗口大小,即为最长无重复字符的字串长度。 代码: class Solution { public int lengthOfLonges 阅读全文
摘要:
思路:动态规划 对于一个数字x1x2……xi,它的翻译方法 f( i ) 可以分为两种情况,xi-1和xi单独翻译和整体翻译。 当xi-1和xi单独翻译时,f( i ) = f ( i - 1 ) + f( i - 2 ) 当xi-1和xi整体翻译时,f( i ) = f( i - 1 ) 设动态规 阅读全文
摘要:
思路:贪心算法 取移动每一步的最优解,即可得到答案。 所有路径都会抵达棋盘的右下角,因此直接利用原棋盘数组记录每一格移动过去的礼物最大值,最终返回棋盘右下角元素即可。 代码: 时间复杂度O(MN),空间复杂度O(1) class Solution { public int maxValue(int[ 阅读全文