日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2月刷题记录

發布時間:2024/4/11 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2月刷题记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動態規劃

  • NC128 接雨水問題(雨水數量=裝滿水的容器面積maxArr-容器本身面積arr,而這個裝滿水的容器數組,規律是遞增再遞減)
  • NC183 最長公共子數組(二維dp,相等則左上方的數+1,不相等則為0,還要用一個max來維護最大的長度)
  • NC59 矩陣的最小路徑和(從上方和左方取一個較小的dp值,加上當前值)
  • BM66 最長公共子串(不相等直接為0,相等的話取左上方的值+1,不斷更新max和所在的row和col)
  • BM67 求路徑(由于只能向右走和向下走,dp[][]中的值可以通過其上方和左方的值相加獲得)
  • BM93 盛水最多的容器(雙指針,只需遍歷一次,哪邊高度小,就把哪邊指針往中間移,才有機會獲得更大面積)
  • BM64 最小花費爬樓梯(dp定義為到達這個臺階準備再向上走的最小花費。當走到倒數第一個或倒數第二個臺階,就可到達頂部,所以是返回這兩者的較小值)
  • BM78 打家劫舍(一)(如果偷第i家,就不能偷第i-1家,最大收益為dp[i-2]+nums[i]。如果不偷第i家,就可以偷第i-1家,最大收益為dp[i-1])
  • BM79 打家劫舍(二)(和(一)的區別是偷第一家就不能偷最后一家,偷了最后一家就不能偷第一家??梢苑謨纱芜M行dp再取較大值)
  • BM81 買賣股票的最好時機(二) (和(一)的區別是可以多次買賣。因此遍歷一遍數組,只要prices[i]大于prices[i-1],就加上這一段的收益(表示在prices[i-1]買入,在prices[i]賣出),遍歷完即可得到最大收益。)
  • BM82 買賣股票的最好時機(三)(先從右向左遍歷獲得第二次交易的最大收益,具體做法是用f[i]記錄從i點到之后的最大收益。再從左向右計算第一次交易的最大收益,具體做法是從以min價格買入,price[i]價格賣出, result = Math.max(result, prices[i] - min + f[i]);)
  • BM48 數據流中的中位數(小頂堆存較大一半的值,大頂堆存較小一半的值。為了保證有序:長度相等時,先放進大頂堆,再從大頂堆彈出一個元素放入小頂堆。長度不相等時,先放進小頂堆,再從小頂堆彈出一個元素放入大頂堆。取中位數時:長度相等時,取大小頂堆的堆頂的平均數,長度不相等時,小頂堆的堆頂就是中位數 )
  • 二叉樹

  • BM30 二叉搜索樹與雙向鏈表(按中序遍歷的順序把整個鏈表連起來,root用來標記整棵樹最左邊的結點。遞歸左子樹,連接pre和當前結點,遞歸右子樹,返回root)
  • 二分

  • NC160 二分查找-I(兩種模板,背熟)
  • NC74 數字在升序數組中出現的次數(運用微妙的 + 0.5 和 - 0.5,使用二分法找出數組中第一個大于k和最后一個小于k的數的下標,相減就可以獲得k在數組中的長度)
  • NC105 二分查找-II(升序數組中找第一個和target相等的數,這種一般是用while(left<right)的模板)
  • NC48 在旋轉過的有序數組中尋找目標值(比較nums[start]和nums[mid]可以知道是前半部分還是后半部分有序,若nums[start]<=nums[mid],且nums[start]<=target<nums[mid] 則在前半部分找。后半部分有序同理)
  • NC32 求平方根(mid<=x/mid&&(mid+1)>x/(mid+1))
  • NC71 旋轉數組的最小數字(i和j分別指向數組的兩頭,m指向中間。array[m]和arr[j]比就可以得出旋轉點在m的左側還是右側,然后不斷縮小i和j的范圍。當i==j時就指向了最小數字(旋轉點))
  • NC254 合法的三角形個數(先選出兩條邊,再用二分法找符合條件的第三邊。)
  • NC164 最長上升子序列(二)(在動態規劃03中做過最基礎的LIS,同樣的題目,但這道題要求時間復雜度是nlogn,因此需要結合二分來做。動態規劃的dp[i]含義有變化:dp[i]存儲的是長度為i+1的子序列的盡可能小的結尾值。遍歷a[i]的時候,如果a[i]比dp的最后一個值大:把a[i]加入到dp的結尾。如果a[i]比dp的最后一個值小/相等:a[i]就可以替換掉dp中的某個值,但換哪一個?就要用二分法找到第一個大于等于a[i]的值)
  • leetcode 35. 搜索插入位置(兩種模板)
  • leetcode 34.在排序數組中找到元素的第一個和最后一個位置 (兩種模板)
  • NC91 最長上升子序列(三)(dp[i]–以arr[i]為結尾的最長子序列長度,maxEnd[i]–長度為i+1的子序列的最小尾元素,二分法用來在arr中找到第一個大于等于t的數的位置。比較難)
  • leetcode 74. 搜索二維矩陣(這一題每一行都是升序的,而且每一行的開頭大于前一行的結尾。
    所以可以對行和列做二分,先找到target所在行,再找到target所在列。二分的時候要找的是最后一個小于等于target的位置)
  • 回溯

  • BM55 沒有重復項數字的全排列(做選擇,遞歸,撤銷選擇)
  • BM56 有重復項數字的全排列(加入mark數組,排除不合法路徑 if(mark[i]||i>0&&num[i]==num[i-1]&&!mark[i-1]) continue;)
  • 基礎數學

  • NC79 丑數(忘記了)
  • 模擬

  • NC57 反轉數字(反轉后的數字可能用int存不下,先用long來存。while(x!=0){n=n*10+x%10;x=x/10;})
  • 數組

  • NC36 在兩個長度相等的排序數組中找到上中位數(雙指針)
  • NC86 矩陣元素查找(貪心法,從左下角的元素開始,比x小則往右走,比x大則往上走,每走一步都可以剔除掉一行或一列)
  • NC202 長度最小的連續子數組(雙指針,還沒有達到目標值,向右擴展,已經達到目標值,向左收縮)
  • NC252 多數組中位數(和NC36差不多也是雙指針,但這題的兩個數組長度不同,而且要取的是下中位數(指在兩個數組的數個數在偶數時取更小的),mid=(m+n+1)/2)
  • leetcode 240. 搜索二維矩陣 II(和NC86類似,左下角開始搜索)
  • NC283 數組中重復的數字(先排序,再遍歷)
  • NC52 數組中只出現一次的兩個數字(哈希表,出現第二次的數 從map中刪除)
  • BM20 數組中的逆序對(歸并排序+計算逆序對)
  • BM53 缺失的第一個正整數(數組中的n個數全部存進哈希表,然后從開始檢查有沒有1,2,3,。。。n,如果發現缺失,就返回它。如果都有,就返回n+1)
  • BM97 旋轉數組 (注意移動位數m可能會超過數組長度n,所以計算位置是要取模的newArr[(i+m)%n]=a[i];)
  • BM98 螺旋矩陣(從最外圍開始走到最中心的點。上面從左到右,左面從上到下,下面從右到左,左面從下到上)
  • 貪心

  • BM95 分糖果問題(從左向右遍歷一次,從右向左遍歷一次)
  • NC90 包含min函數的棧(用到輔助棧,將node和minstack的棧頂比較,哪個小就push哪個進minstack,minstack的棧頂永遠保存當前stack的最小元素)
  • NC115 棧和排序(用tmp數組存i-n之間最大的數,遍歷a數組放入棧,只要棧頂的數比tmp[i+1]大,就彈出來放到res)
  • NC157 單調棧
  • NC175 合法的括號字符串(遍歷字符串是用來處理右括號的:見到右括號,先匹配左括號,沒有左括號再匹配星號。如果發現有無法匹配的右括號,直接返回false。檢查棧是用來處理左括號的:不斷彈出兩個棧,一個左括號匹配一個星號(滿足左括號在前,星號在后)。如果發現左括號的索引比星號大,直接返回false。最后左括號???#xff0c;才能返回true。)
  • NC208 每日溫度(單調棧。要找到每個數右邊第一個比它大的數,并計算它們倆的差值,可以用一個遞減的單調棧,每遍歷一個數,與棧頂比較,比棧頂小則直接入棧,比棧頂大則不斷讓棧頂先彈出,記錄彈出位置為pre,當前為i,則差值為i-pre)
  • NC216 逆波蘭表達式求值(遇到一個符號則計算前兩個數。可以用棧解決。)
  • NC209 最短無序連續子數組(nums[i]滿足大于等于左邊的最大值,小于等于右邊的最小值,這個數在數組中就是不需要移動位置的。所以要從左到右遍歷記錄當前maxleft,從右到左遍歷記錄當前minright,找到無序的左邊界和右邊界,return r-l+1)
  • 總結

    以上是生活随笔為你收集整理的2月刷题记录的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 96av在线视频 | 欧美国产成人精品一区二区三区 | 日韩欧美在线观看 | 欧美一级高潮片 | 国产另类综合 | 免费无码毛片一区二三区 | 久久精品视频1 | 日本黄色小说 | 亚洲国产97在线精品一区 | 亚洲永久无码7777kkk | 久久露脸国语精品国产91 | 欧美浮力影院 | 国产午夜不卡 | 不卡成人 | 亚洲精品国产精品国自产 | 久久影音| 免费黄网站在线观看 | 秋霞二区 | 久久91亚洲精品中文字幕奶水 | 婷婷中文字幕在线 | 大尺度做爰无遮挡露器官 | 一区二区视频国产 | 黄色三级小说 | 亚洲av无码一区二区乱子伦 | 午夜久久久久久久久久影院 | 成人黄色在线免费观看 | 黄色91免费观看 | 亚洲无码久久久久 | 日韩福利小视频 | 黄色三级视频 | 国内自拍视频网站 | 亚洲黄色大片 | 在线免费观看中文字幕 | 国产精品视频全国免费观看 | 国产新婚疯狂做爰视频 | 国产激情视频一区 | 999精品国产| 成人91免费| 黄色a级片视频 | 蜜桃精品视频 | 91精品亚洲 | 亚洲天堂av影院 | 日本公与丰满熄 | 亚洲av少妇一区二区在线观看 | 韩产日产国产欧产 | 狠狠干2018| 西野翔之公侵犯中文字幕 | 国产sm调教一区二区 | 国产新婚疯狂做爰视频 | 91影院在线观看 | 亚洲av无码一区二区三区在线 | 亚洲 欧美 日韩 综合 | 无码人妻精品一区二区蜜桃网站 | 久久男人 | 色五夜| 色呦呦视频| 欧美人体做爰大胆视频 | 亚洲欧美在线视频观看 | 鲁鲁在线| 国产男人搡女人免费视频 | 国产综合内射日韩久 | 91福利一区 | 日本xx视频| 狠狠成人 | 欧美美女一区二区 | 国产又粗又硬又黄的视频 | 狠狠操综合 | 久久99久| 国语av在线 | 成年人免费视频播放 | 亚洲精品高清在线观看 | 丝袜老师让我了一夜网站 | 黄色aa毛片 | 76少妇精品导航 | 调教91| 冲田杏梨一区二区三区 | 国产综合一区二区 | 日本在线激情 | 伊人春色在线 | 亚洲色图第一区 | 国产在线中文 | 免费污视频 | 暖暖av| 日韩在线免费播放 | 干美女视频 | 成人网在线播放 | 伊人久久九 | a网站在线观看 | 国产乱淫精品一区二区三区毛片 | 我们的生活第五季在线观看免费 | 欧美激情综合色综合啪啪五月 | 日韩欧美极品 | 伊人色影院 | 久久久久女| 美女精品一区 | 国产精品久久视频 | 日本视频中文字幕 | 美腿丝袜一区二区三区 | 一区二区三区不卡在线 |