摘要: 类似需要枚举所有解的题目,都是典型的dfs的题目。 本题要求答案里不能有重复的解,因此先将数组排序,dfs里增加一个start参数,来表明开始的下标,防止重复发生。仔细体会一下! 阅读全文
posted @ 2018-07-29 22:19 約束の空 阅读(101) 评论(0) 推荐(0)
摘要: 解法一: 类似 LeetCode 442. Find All Duplicates in an Array,由于元素是1~n,因此每个元素的值-1(映射到0~n-1)就可以直接当做下标。 解法二:Floyd Cycle Detection 由于元素都是1~n,而数组n+1个元素,因此下标为0~n,可 阅读全文
posted @ 2018-07-29 21:26 約束の空 阅读(102) 评论(0) 推荐(0)
摘要: 方法一:Backtracing+Memoization 遇到在wordlist里的单词就继续深搜,memo[i] 用来保存下标i开始到结束的字符串是否能拆分,如果之前保存过,就直接返回,不用重复计算。 用start记录开始的下标,这样就不用传字符串作为参数了,当然用字符串也可以。 如果不用memor 阅读全文
posted @ 2018-07-29 14:57 約束の空 阅读(219) 评论(0) 推荐(0)
摘要: 归并排序的应用。本题将一个链表分为两个有个技巧,就是快慢两个指针,需要注意的是如果一开始 slow=fast=head 来做,后面是 fast=slow->next; slow->next=NULL 的话在两个元素的时候会死循环,因此要么改前面要么改后面。 阅读全文
posted @ 2018-07-29 00:06 約束の空 阅读(104) 评论(0) 推荐(0)