極客時間算法訓練營課程筆記


極客時間算法訓練營課程筆記

  • 刷題最大的誤區:只做一遍
  • 加速最好的方法和核心思想:1 升維 (雙指針,或一維數組維護兩個序列號) 2 空間換時間
  • 核心思想:第一周第三課第一節
  • 例題:第一周第三課第二節,移動零

寫下想到的所有方法
leetcode-cn查好方法
題目國際站 most-votes
無毒神掌
主要思想
高級算法模板

 

本地git配置備份

$ git config --global --list
user.email=lx169978@alibaba-inc.com
user.name=lx169978
gui.encoding=utf-8

提交作業:https://shimo.im/docs/m5rtM8K8rNsjw5jk/read

交作業網址:https://github.com/lexn-lexn/algorithm009-class02

連接復制在geek 評論中 作業一般連接形式 https://github.com/lexn-lexn/algorithm009-class02/tree/master/Week_02 

      提交issue地址 https://github.com/algorithm009-class02/algorithm009-class02/issues/19  對應week里面的issue

提交格式

#學號: G20200343040322
#姓名: 劉曉
#班級: 2班
#語言: python
#作業&總結鏈接: https://github.com/lexn-lexn/algorithm009-class02/tree/master/Week_02

 

-----------------------------------------第一周---------------------------------------------------------------
第一周第三課第三節
計算機核心原理
重復動作
本質決定:三大基本操作 ifelse for recursion
當不會題目時:
1)暴力
2)最簡單情況
3)想到最簡單情況后, 是否可以總結找到最小重復子單元,
4)找到后即可完成整個編程
例題:爬樓梯。
提示:條件走1或2步可能,那么假設最后還剩一步,那么前面有多少種走法就是F(n-1), 假設最后還剩兩部,那么前面有多少種走法F(n-2)

 

第一周第四課第二節

核心思想

  最近相關性 -> 棧

  排隊先到先得-> 隊列

題目:有效括號

引申:洋蔥式的思維模型即用棧。排隊式思維模型用隊列

 第一周作業:

1移動零  2 兩數求和

class Solution:
    def moveZeroes(self, nums):
        i = 0
        n_l = len(nums)
        for j in range(n_l):
            if nums[j] != 0:
                nums[i], nums[j] = nums[j], nums[i]
                i += 1


s = Solution()
n = [1, 20, 0, 2, 0, 7]
s.moveZeroes(n)
print(n)



class Solution(object):
    def two_sum(self, tar, nums):
        hashmap = {}
        for i in range(len(nums)):
            if (tar-nums[i]) in hashmap:
                return [i, nums[i]],[hashmap[tar-nums[i]], tar-nums[i]]
                pass
            hashmap[nums[i]] = i

ts = Solution()
res = ts.two_sum(10,[12,3,5,7,8,35,21,2,3,])
print(res)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM