摘要:
一:解题思路 方法一:Time:O(n),Space:O(1),方法一比方法二容易理解,推荐用方法一 方法二:Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) 方法一C++: class Solution { public: int lengthOfLongest 阅读全文
posted @ 2020-04-05 21:44
repinkply
阅读(158)
评论(0)
推荐(0)
摘要:
一:解题思路 定义2个栈,一个栈st,另外一个栈min专门用来保存st栈的最小值。这样就可以在常数时间内检索到最小元素。 二:完整代码示例 (C++版和Java版) 方法一C++: class MinStack { public: stack<int> st; stack<int> min; Min 阅读全文
posted @ 2020-04-05 20:37
repinkply
阅读(176)
评论(0)
推荐(0)
摘要:
一:解题思路 方法一:判断S(i,j)是否回文。1.当i==j的时候,只有一个字符,肯定是回文。2.当i+1==j的时候,只需要判断S(i)==S(j),就可以知道S(i,j)是否回文。3.i+1!=j的时候,需要判断 S(i)==S(j) && S(i+1,j-1)。因此不仅需要判断S(i)==S 阅读全文
posted @ 2020-04-05 17:11
repinkply
阅读(205)
评论(0)
推荐(0)
摘要:
一:解题思路 Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: int removeElement(vector<int>& nums, int val) { if (nums.size() == 0) 阅读全文
posted @ 2020-04-05 16:22
repinkply
阅读(168)
评论(0)
推荐(0)
摘要:
一:解题思路 这道题目看起来比较简单,只需要将数组对应的从i到j的下标中的元素累加就行。但题目说了,会多次调用这个函数。是不是有更高效的做这个题目的方法呢?当然有,我们可以用一个简单的公式来计算一下。我们定义S(i)为从0到i-1的和,S(j)定义为从0到j-1的和,那么f(i,j)=S(j+1)- 阅读全文
posted @ 2020-04-05 15:59
repinkply
阅读(161)
评论(0)
推荐(0)

浙公网安备 33010602011771号