学习日记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
相关推荐
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
编程小白20262 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要2 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
深蓝海拓2 小时前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎2 小时前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
L***一3 小时前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
.小墨迹3 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH15455891313 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
Gain_chance3 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
hqyjzsb3 小时前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作