学习日记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
相关推荐
大江东去浪淘尽千古风流人物1 小时前
【MSCKF】UpdaterHelper 学习备注
学习
hmbbcsm2 小时前
python学习之路(十三)[闭包,装饰器,函数式编程,生成器]
学习
丝斯20113 小时前
AI学习笔记整理(26)—— 计算机视觉之目标追踪‌
人工智能·笔记·学习
m0_689618283 小时前
会“变形”的软3D电磁结构,让4D电子、柔性机器人迎来新可能
笔记·学习·机器人
柒柒钏4 小时前
PyTorch学习总结(一)
人工智能·pytorch·学习
一条破秋裤6 小时前
零样本学习指标
深度学习·学习·机器学习
喜欢踢足球的老罗6 小时前
Qoder AI IDE深度体验:用Repo Wiki与AskModel重塑开源库学习范式
人工智能·学习·qoder
可可苏饼干7 小时前
NoSQL 与 Redis
数据库·redis·笔记·学习·nosql
重生之我在番茄自学网安拯救世界7 小时前
网络安全中级阶段学习笔记(一):DVWA靶场安装配置教程与网络空间搜索语法
笔记·学习·网络安全·靶场·dvwa·fofa·google hack