Day37_1127
专注时间:6H17min
每日任务:计算机网络50分钟( 66 分钟),搜广推90分钟~上不封顶+手撕目录里的算法(0),二刷hot100算法题2道(完成 2 道),刑法实务考试复习50分钟( 125min,最后一次课认真听了,真是好课啊,自己喜欢,而且不用打卡签到点名互动 )
学习内容: 如上
总结与心得: 专注时长破纪录,这就是周四的强度,主要是课上时间没浪费,但是REC学的还是特别少啊,没动力学他,不能这样,而且总是放到最后去学。晚上再复习刑法PPT吧,弄完别的就去REC。
《11.盛水最多的容器》
AC
python
class Solution(object):
def maxArea(self, height):
"""
:type height: List[int]
:rtype: int
"""
i,j = 0,len(height)-1
res = 0
while i<j:
h = min(height[i],height[j])
res = max(res,h*(j-i))
if height[i]<=height[j]:
i+=1
else:
j-=1
return res
超时:
python
class Solution(object):
def maxArea(self, height):
"""
:type height: List[int]
:rtype: int
"""
n = len(height)
res = 0
for i in range(n):
for j in range(i+1,n):
h = min(height[i],height[j])
res = max(res,h*(j-i))
return res
《15.三数之和》
超时代码,暴力
python
class Solution(object):
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
n = len(nums)
if n < 3:
return res
nums.sort()
for i in range(n):
if i>0 and nums[i]==nums[i-1]:
continue
for j in range(i+1,n):
if j>i+1 and nums[j]==nums[j-1]:
continue
for k in range(j+1,n):
if k>j+1 and nums[k]==nums[k-1]:
continue
if nums[i]+nums[j]+nums[k]==0:
short_res = []
short_res.append(nums[i])
short_res.append(nums[j])
short_res.append(nums[k])
res.append(short_res)
return res
AC:
python
class Solution(object):
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
n = len(nums)
if not nums or n<3:
return []
res = []
nums.sort()
for i in range(n):
if nums[i]>0:
return res
if i>0 and nums[i]==nums[i-1]:
continue
l,r = i+1,n-1
while l<r:
if nums[i]+nums[l]+nums[r] == 0 :
res.append([nums[i],nums[l],nums[r]])
while l<r and nums[l]==nums[l+1]:
l+=1
while l<r and nums[r]==nums[r-1]:
r-=1
l+=1
r-=1
elif nums[i]+nums[l]+nums[r]>0:
r-=1
else:
l+=1
return res