学习日记day40

Day40_1202

专注时间:3h23min

每日任务:计算机网络50分钟( 0 分钟),搜广推90分钟~上不封顶+手撕目录里的算法( 60+ ),二刷hot100算法题2道(完成 3 道),刑法实务考试复习50分钟( 20+ 复习到 427页了

学习内容: 如上

总结与心得: 课堂上太吵了,而且座位也不舒服,比较难长期专注。不过还是要克服

《56.合并区间》

python 复制代码
class Solution(object):
    def my_qsort(self,intervals,l,r):
        if l>=r:
            return 
        x = intervals[l][0]
        i,j = l-1,r+1
        while i<j:
            i+=1
            while intervals[i][0]<x:
                i+=1
            j-=1
            while intervals[j][0]>x:
                j-=1
            if i<j:
                intervals[i],intervals[j] = intervals[j],intervals[i]
        self.my_qsort(intervals,l,j)
        self.my_qsort(intervals,j+1,r)

    def merge(self, intervals):
        """
        :type intervals: List[List[int]]
        :rtype: List[List[int]]
        """
        n = len(intervals)
        self.my_qsort(intervals,0,n-1)
        res = []
        left = intervals[0][0]
        right = intervals[0][1]
        for i in range(1,n):
            if intervals[i][0]<=right:
                right = max(right,intervals[i][1])
            else:
                inter = [left,right]
                res.append(inter)
                left,right = intervals[i][0],intervals[i][1]
        res.append([left,right])
        return res
        

《189.轮转数组》

python 复制代码
class Solution(object):
    def my_reverse(self,nums,l,r):
        if l>r:
            return 
        while l<r:
            nums[l],nums[r] = nums[r],nums[l]
            l+=1
            r-=1

    def rotate(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: None Do not return anything, modify nums in-place instead.
        """
        n = len(nums)
        k = k%n
        self.my_reverse(nums,0,n-k-1)
        self.my_reverse(nums,n-k,n-1)
        self.my_reverse(nums,0,n-1)
python 复制代码
class Solution(object):
    def rotate(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: None Do not return anything, modify nums in-place instead.
        """
        # k%n来确定位置,但是用了辅助数组
        res = [0] *len(nums)
        for i in range(len(nums)):
            res[(i+k)%len(nums)] = nums[i]
        for i in range(len(nums)):
            nums[i] = res[i]
        

《238.除自身以外数组的乘积》

python 复制代码
class Solution(object):
    def productExceptSelf(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        #前缀积试试呢?
        n = len(nums)
        res = [1]*n
        pre =[1]*n
        last = [1]*n
        for i in range(1,n):
            pre[i] = pre[i-1]*nums[i-1]
        for i in range(n-2,-1,-1):
            last[i] = last[i+1]*nums[i+1]
        #numpy才可以这样?这里能看出我不熟练numpy要多练习手撕,多写多读代码。而且也能看出非numpy很不方便
        #res = pre*last
        for i in range(n):
            res[i] = pre[i]*last[i]
        return res
相关推荐
y = xⁿ1 天前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
HugoStudio_SWAN1 天前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生
sakiko_1 天前
Swift学习笔记42-SwiftUI的属性包装器(讲解+面试)
笔记·学习·ios·swiftui·swift
存在morning2 天前
【Paimon 学习笔记 三】工作流程:Paimon 的批写、流写、批读与流读
笔记·学习
老当益壮梁奶奶2 天前
Linux软件编程学习笔记(八):进程间通信详解(1)
linux·c语言·笔记·学习·算法
凯尔萨厮2 天前
Java学习笔记十(注解)
java·笔记·学习
JoannaJuanCV2 天前
VLM学习-SFT(监督微调)
深度学习·学习·机器学习·大模型·视觉大模型·vlm·视觉编码器
程序员大雄学编程2 天前
微积分43. 无穷积分入门:从概念到Python实战可视化
开发语言·python·学习·微积分
一条破秋裤2 天前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
2601_962073972 天前
【MySQL】全面学习数据库查询技巧:查询指令深度学习指南
数据库·学习·mysql