这个题目就是需要判断给定字符串能否由多个相同子串构成,如果可以就返回true。构造一种比较巧妙的方法是将s拼接两次,变成2s,然后掐头去尾,剩下的部分如果包含原本的s,说明是可以由子串构成,因为一旦字符串存在重复的构成,就一定在对应的偏移存在构成,例如 abcabc->abcabcabcabc->bcabcabcab,这里面是会有abcabc的。func repeatedSubs...
Articles in the category of Leetcode
- Home
- Leetcode
要找到缺失的第一个正数,就可以把数组范围内的 nums[i] 放到 nums[i]-1 的位置上去,比如 2 放到 1, 3 放到 2,那么最后交换好的数...
字符串相加这个用一个carry代表进位,其他的模拟竖式加法即可func addStrings(num1 string, num2 string) string { p1 := len(num1)-1 p2 := len(num2)-1 carry := byte(0) result := make([]byte, 0) for p1 >= 0 |...
打家劫舍定义 dp[i] 为前 i 个房子抢到的最大金额,那么有 $dp[i] = max(dp[i-1], dp[i-2] + nums[i])$fun...
// 堆排 func heapSort(nums []int) { n := len(nums) if n < 2 { return } lastParent := (n - 2) / 2 for i := lastParent; i >= 0; i-- { pushDown(nums, i, n) ...