盛最多水的容器
class Solution:
def maxArea(self, height: List[int]) -> int:
res,l,r=0,0,len(height)-1
while True:
if l>r:
break
res=max(res,min(height[l],height[r])*(r-l))
if height[l]<height[r]:
l+=1
else:
r-=1
return res
最的相同前缀
class Solution {
public:
string longestCommonPrefix(vector& strs)
{
int n=strs.size();
if(n==0) return “”;
for(int i=0;i<strs[0].size();i++)
{
char c=strs[0][i];
for(int j=1;j<n;j++)
{
if(i>=strs[j].size()||c!=strs[j][i])
{
return strs[j].substr(0,i);
}
}
}
return strs[0];//只有一个字符串的情况
}
};
三数之后
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
res=[]
nums.sort()
for i in range(len(nums)):
if nums[i]>0:
break
if i>=1 and nums[i]==nums[i-1]:
continue
target=-nums[i]
cache=set()
for j in range(i+1,len(nums)):
if nums[j] in cache:
if len(res)==0 or res[-1]!=[nums[i],target-nums[j],nums[j]]:
res.append([nums[i],target-nums[j],nums[j]])
cache.add(target-nums[j])
return res