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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LeetCode 第 30 场双周赛(477/2545,前18.7%,第2次全部通过)

發布時間:2024/7/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LeetCode 第 30 场双周赛(477/2545,前18.7%,第2次全部通过) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1. 比賽結果
    • 2. 題目
      • 1. LeetCode 5177. 轉變日期格式 easy
      • 2. LeetCode 5445. 子數組和排序后的區間和 medium
      • 3. LeetCode 5446. 三次操作后最大值與最小值的最小差 medium
      • 4. LeetCode 5447. 石子游戲 IV hard(博弈DP)

1. 比賽結果

時隔近5個月,第二次全過,第一次全過是第20場雙周賽。

第二次全部做出來了,可能題目簡單點!第一題沒有補零,錯誤一發,第二題,不必排序,錯誤一發,繼續加油!

全國排名: 477 / 2545,18.7%;全球排名: 1292 / 8175,15.8%

2. 題目

1. LeetCode 5177. 轉變日期格式 easy

題目鏈接

給你一個字符串 date ,它的格式為 Day Month Year ,其中:

  • Day 是集合 {"1st", "2nd", "3rd", "4th", ..., "30th", "31st"} 中的一個元素。
  • Month 是集合 {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} 中的一個元素。
  • Year 的范圍在 ?[1900, 2100] 之間。

請你將字符串轉變為 YYYY-MM-DD 的格式,其中:

YYYY 表示 4 位的年份。
MM 表示 2 位的月份。
DD 表示 2 位的天數。

示例 1: 輸入:date = "20th Oct 2052" 輸出:"2052-10-20"示例 2: 輸入:date = "6th Jun 1933" 輸出:"1933-06-06"示例 3: 輸入:date = "26th May 1960" 輸出:"1960-05-26"提示: 給定日期保證是合法的,所以不需要處理異常輸入。

解題:

  • 注意不足2位的,要補0
class Solution { public:string reformatDate(string date) {unordered_map<string,string> m;m["Jan"]="01";m["Feb"]="02";m["Mar"]="03";m["Apr"]="04";m["May"]="05";m["Jun"]="06";m["Jul"]="07";m["Aug"]="08";m["Sep"]="09";m["Oct"]="10";m["Nov"]="11";m["Dec"]="12";int day = 0, month = -1, year = 0, i = 0;string t;while(isdigit(date[i]))day = day*10+date[i++]-'0';//天數while(date[i] != ' ')i++;i++;while(isalpha(date[i]))t += date[i++];//月份的字符串i++;while(i < date.size())year = year*10+date[i++]-'0';//年return to_string(year)+"-"+m[t]+"-"+(day>=10 ? to_string(day):("0"+to_string(day)));} };

2. LeetCode 5445. 子數組和排序后的區間和 medium

題目鏈接
給你一個數組 nums ,它包含 n 個正整數。你需要計算所有非空連續子數組的和,并將它們按升序排序,得到一個新的包含 n * (n + 1) / 2 個數字的數組。

請你返回在新數組中下標為 left 到 right (下標從 1 開始)的所有數字和(包括左右端點)。由于答案可能很大,請你將它對 10^9 + 7 取模后返回。

示例 1: 輸入:nums = [1,2,3,4], n = 4, left = 1, right = 5 輸出:13 解釋:所有的子數組和為 1, 3, 6, 10, 2, 5, 9, 3, 7, 4 。 將它們升序排序后,我們得到新的數組 [1, 2, 3, 3, 4, 5, 6, 7, 9, 10] 。 下標從 le = 1 到 ri = 5 的和為 1 + 2 + 3 + 3 + 4 = 13 。示例 2: 輸入:nums = [1,2,3,4], n = 4, left = 3, right = 4 輸出:6 解釋:給定數組與示例 1 一樣, 所以新數組為 [1, 2, 3, 3, 4, 5, 6, 7, 9, 10] 。 下標從 le = 3 到 ri = 4 的和為 3 + 3 = 6 。示例 3: 輸入:nums = [1,2,3,4], n = 4, left = 1, right = 10 輸出:50提示: 1 <= nums.length <= 10^3 nums.length == n 1 <= nums[i] <= 100 1 <= left <= right <= n * (n + 1) / 2

解題:

  • 計算以每個數字 nums[i] 為開始的子數組前綴和,插入multiset
  • 最后取出對應區間的即可
class Solution { public:int rangeSum(vector<int>& nums, int n, int left, int right) {// sort(nums.begin(),nums.end()); 錯誤一發,在這里。。。multiset<int> s;int presum;for(int i = 0, j; i < nums.size(); ++i){presum = 0;for(j = i; j < nums.size(); ++j){presum += nums[j];s.insert(presum);}}auto it = s.begin();int k = left-1;while(k--)it++;k = right-left+1;int sum = 0;while(k--){sum += *it;it++;}return sum;} };

3. LeetCode 5446. 三次操作后最大值與最小值的最小差 medium

題目鏈接

給你一個數組 nums ,每次操作你可以選擇 nums 中的任意一個數字并將它改成任意值。

請你返回三次操作后, nums 中最大值與最小值的差的最小值。

示例 1: 輸入:nums = [5,3,2,4] 輸出:0 解釋:將數組 [5,3,2,4] 變成 [2,2,2,2]. 最大值與最小值的差為 2-2 = 0 。示例 2: 輸入:nums = [1,5,0,10,14] 輸出:1 解釋:將數組 [1,5,0,10,14] 變成 [1,1,0,1,1] 。 最大值與最小值的差為 1-0 = 1 。示例 3: 輸入:nums = [6,6,0,1,1,4,6] 輸出:2示例 4: 輸入:nums = [1,5,6,14,15] 輸出:1提示: 1 <= nums.length <= 10^5 -10^9 <= nums[i] <= 10^9

解題:

  • 排序后,前后總共去掉3個,4種情況取最小
class Solution { public:int minDifference(vector<int>& nums) {if(nums.size() <= 4)return 0;sort(nums.begin(),nums.end());int n = nums.size();return min(nums[n-4]-nums[0],min(nums[n-3]-nums[1],min(nums[n-2]-nums[2], nums[n-1]-nums[3])));} };

4. LeetCode 5447. 石子游戲 IV hard(博弈DP)

題目鏈接

Alice 和 Bob 兩個人輪流玩一個游戲,Alice 先手

一開始,有 n 個石子堆在一起。每個人輪流操作,正在操作的玩家可以從石子堆里拿走 任意 非零 平方數 個石子。

如果石子堆里沒有石子了,則無法操作的玩家輸掉游戲。

給你正整數 n ,且已知兩個人都采取最優策略。
如果 Alice 會贏得比賽,那么返回 True ,否則返回 False 。

示例 1: 輸入:n = 1 輸出:true 解釋:Alice 拿走 1 個石子并贏得勝利,因為 Bob 無法進行任何操作。示例 2: 輸入:n = 2 輸出:false 解釋:Alice 只能拿走 1 個石子, 然后 Bob 拿走最后一個石子并贏得勝利(2 -> 1 -> 0)。示例 3: 輸入:n = 4 輸出:true 解釋:n 已經是一個平方數, Alice 可以一次全拿掉 4 個石子并贏得勝利(4 -> 0)。示例 4: 輸入:n = 7 輸出:false 解釋:當 Bob 采取最優策略時,Alice 無法贏得比賽。 如果 Alice 一開始拿走 4 個石子, Bob 會拿走 1 個石子, 然后 Alice 只能拿走 1 個石子, Bob 拿走最后一個石子并贏得勝利(7 -> 3 -> 2 -> 1 -> 0)。如果 Alice 一開始拿走 1 個石子, Bob 會拿走 4 個石子, 然后 Alice 只能拿走 1 個石子, Bob 拿走最后一個石子并贏得勝利(7 -> 6 -> 2 -> 1 -> 0)。示例 5: 輸入:n = 17 輸出:false 解釋:如果 Bob 采取最優策略,Alice 無法贏得勝利。提示: 1 <= n <= 10^5

類似題目:
LeetCode 1025. 除數博弈(動態規劃)
LeetCode 810. 黑板異或游戲(博弈推理)

解題:

class Solution { public:bool winnerSquareGame(int n) {vector<bool> dp(n+1, false);int i, j;for(i = 0; i <= n; ++i)//遍歷石子的樣本維度{for(j = 1; j*j+i <= n; ++j){ //拿走 j^2 個石子if(!dp[i])//如果只有 i 個石頭的時候輸dp[j*j+i] = true;//那么有j*j+i個石頭時,就贏了}}return dp[n];} };

我的CSDN博客地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的LeetCode 第 30 场双周赛(477/2545,前18.7%,第2次全部通过)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本精品视频一区二区 | 午夜福利三级理论电影 | 国产精品久久久久久免费观看 | 久久亚洲天堂网 | 亚洲精品乱码久久久久久国产主播 | 国产伦精品一区二区三区免费迷 | 五十路息子 | 国产综合精品 | 国产毛片久久久久久久 | 亚洲88| 欧美综合亚洲 | 国内国产精品天干天干 | 丰满大肥婆肥奶大屁股 | 国产精品久久久久久久免费看 | 人人妻人人爽一区二区三区 | 69福利社区 | 欧美激情自拍偷拍 | a级片国产| 亚洲男人的天堂在线 | 粗大黑人巨茎大战欧美成人免费看 | 影音先锋蜜桃 | av手机天堂 | 天天干夜夜草 | 修仙淫交(高h)h文 | 偷自在线 | 国产噜噜噜噜噜久久久久久久久 | 国产欧美精品aaaaaa片 | 日本少妇毛茸茸 | 成人在线视频在线观看 | 日本中文字幕高清 | 农村妇女毛片精品久久久 | 欧美亚洲第一页 | 黄色大片网站在线观看 | 欧美精品videosex极品 | 一区二区视屏 | 欧美精品日韩 | 亚洲精品人妻无码 | 国产一级av毛片 | 在线观看免费大片 | 成人区精品一区二区婷婷 | 久久亚洲精精品中文字幕早川悠里 | 国产精久久一区二区三区 | 亚洲综合色一区二区 | 亚洲第一页av | 色人天堂| 91在线亚洲 | 夜夜爽妓女8888视频免费观看 | 特及毛片 | 国产在线拍揄自揄拍无码 | 色偷偷欧美 | 欧美一区二区三区婷婷月色 | 欧美亚洲国产一区二区三区 | 日日干夜夜拍 | 国产黄色片在线 | 粉嫩在线 | 免费在线精品视频 | 国产永久在线观看 | 欧美91成人网 | 久久久久精彩视频 | 国产精品久久毛片 | 男人天堂av网| 国产成人精品一区二区三区网站观看 | 天堂视频免费看 | 亚洲一一在线 | 什么网站可以看毛片 | av国产精品 | 一级特级毛片 | japan高清日本乱xxxxx | 久久中文一区 | 日本中文字幕在线视频 | 欧美日韩99 | 以女性视角写的高h爽文 | 国产成年人视频 | a√天堂在线 | 国产视频首页 | 九九九九热 | 国产免费视屏 | 亚洲男人的天堂网站 | 蘑菇视频黄色 | 亚洲国产免费av | 在线观看免费观看 | 一区二区三区四区人妻 | 狠狠干中文字幕 | 特黄视频免费看 | 欧美成人精品一区二区男人小说 | 五月婷婷国产 | 中文字幕一区二区在线观看视频 | 99精品视频免费看 | 天天综合亚洲 | 日韩一区在线视频 | 69影院在线观看 | 久草视频首页 | 美女午夜激情 | 亚洲国产精品av | 91精品久久久久 | 麻豆视频成人 | 日韩精品一区二区三区无码专区 | 综合图区亚洲 | 国产在线免费 |