53. maximum subarray
題目:求最大子串行和
思路:動態規劃——n為連續項之和,如果n<0,將n令為0,即前幾項之和小於零,重新開始計算。
public class solution
if(n < 0)
}return ret;
}}
152. maximum product subarray
題目:求最小子序列的最大積
思路:動態規劃——用max和min記錄當前最大值和最小值,實際就是找到max*當前數,min*當前數以及當前數三個數的最大值和最小值。
public class solution
return ret;
}}
238. product of array except self
題目:返回除了自己以外所有元素的積,不允許使用多餘空間
思路:算出所有不為零的數之積,並統計零的個數,然後分類討論。o(n)
public class solution
p *=nums[i];
}for(int i = 0; i < nums.length; i++)
else
}return nums;
}}
題目要求不用除法,沒看著。
另一種方法,建乙個陣列,將第i位放前i-1的乘積,然後反過來,計算每一項缺少的部分(其實就是它的後幾項)。
public class solution
int right = 1;
for (int i = n - 1; i >= 0; i--)
return res;
}
LeetCode 字串系列(子串)
30.substring with concatenation of all words 題目 在s找到所有words中所有字串串起來的子字串 包括words中所有字串 的起始位置 思路 參考了別人的解法,but超時,記錄一下。將words中的所有單詞建乙個hashmap,單詞和出現次數。每次新建乙...
LeetCode系列 子集列舉問題 無重複元素
給定一組數 未排序 求它們的所有組合可能.如給定,返回 1 2 3 1 2 1 3 2 3 1 2 3 演算法思路 對陣列排序,從小到大 令 i 0,對已有組合v從後往前進行如下操作 v的最後1個組合內加入第i個元素 將新組合加入到v中 演算法的理解可以通過乙個例子來看 給定s v i 0,j 1,...
LeetCode 查詢陣列系列
33.search in rotated sorted array 題目 在乙個被旋轉一次的遞增陣列中找到目標值。思路 二分法 思路一定要清晰!當mid和目標值不等時,判斷mid和start的大小,大於說明旋轉位置在後面,反之在前面。在後面的時候start mid是遞增的,可以直接判斷目標值在不在其...