学习日记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
相关推荐
sinat_2554878121 小时前
读者、作家 Java集合学习笔记
java·笔记·学习
Edward111111111 天前
3.18异常学习
学习
正经人_x1 天前
学习日记34:UNETR
学习
科技林总1 天前
【系统分析师】12.3 软件架构描述与表示
学习
wincheshe1 天前
AI Agent 开发学习 --- 框架开发实践(三)
人工智能·学习
2501_918126911 天前
学习所有6502写游戏存档的语句
汇编·嵌入式硬件·学习·游戏·个人开发
星雨流星天的笔记本1 天前
2.用洗洁精洗过的三口烧瓶的处理方法
学习
云边散步1 天前
godot2D游戏教程系列二(18)
笔记·学习·游戏
風清掦1 天前
【江科大STM32学习笔记-09】USART串口协议 - 9.1 STM32 USART串口外设
笔记·stm32·单片机·嵌入式硬件·学习
奶茶精Gaaa1 天前
AI实战(二)生成ui自动化
功能测试·学习·自动化