学习日记day37

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
                
相关推荐
淮北4946 小时前
vim学习进阶
学习·编辑器·vim
sayang_shao7 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
happymaker06269 小时前
web前端学习日记——DAY04
前端·学习
solicitous10 小时前
遇到一个口头机遇
学习·生活
观书喜夜长12 小时前
大模型应用开发学习-基于 LangChain 框架实现的交互式问答脚本
python·学习
FPGA小迷弟12 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
炽烈小老头13 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
神舟之光14 小时前
Java面向对象编程知识补充学习-2026.3.21
java·开发语言·学习
网络工程小王14 小时前
【大数据技术详解】——Kibana(学习笔记)
大数据·笔记·学习
im_AMBER14 小时前
Leetcode 144 位1的个数 | 只出现一次的数字
学习·算法·leetcode