学习日记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
相关推荐
babe小鑫7 分钟前
数据岗位的发展与学习数据分析指南
学习·数据挖掘·数据分析
楼田莉子10 分钟前
仿Muduo的高并发服务器:Channel模块与Poller模块
linux·服务器·c++·学习·设计模式
知识分享小能手12 分钟前
R语言入门学习教程,从入门到精通,R语言网络关系数据可视化(8)
学习·信息可视化·r语言
xieliyu.14 分钟前
Java手搓数据结构:栈与队列模拟实现
java·数据结构·学习
zhangrelay15 分钟前
ROS Kinetic-信号与系统-趣味案例
linux·笔记·学习·ubuntu
承渊政道31 分钟前
【动态规划算法】(回文串问题解题框架与经典案例)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
HERR_QQ38 分钟前
端到端课程自用 5 规划 基于Difussion 的端到端planner AI 笔记
人工智能·笔记·学习·自动驾驶
lilihuigz9 小时前
Tutor LMS 4.0 Beta版全新上线:以学习者为中心的移动优先学习体验
学习·在线教育·lms
kuinnebula12 小时前
RTSP学习
学习
北顾笙98013 小时前
LLM学习-day04
学习