Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (是oin捏)時間1年前 (2024/05/03 13:06), 編輯推噓1(218)
留言11則, 6人參與, 1年前最新討論串180/1548 (看更多)
※ 引述 《Rushia (早瀬ユウカの体操服)》 之銘言: :   : https://leetcode.com/problems/compare-version-numbers/description : 165. Compare Version Numbers : 給你兩個表示版本的字串,求出哪個版本比較大 : If version1 < version2, return -1. : If version1 > version2, return 1. : Otherwise, return 0. : 版本以 . 分隔,你可以忽略 0 開頭的版本號 ,也就是0001 和 1 相等。 :   : 思路: : 1.用函數把版本依據 . 分成好幾組,每組轉成 int 比較大小,如果不相等就返回。 : 2.如果比完之後還有沒檢查的版本字串,該版本如果遇到大於0一定比較大,否則返回0。 思路: 媽的 c++好像沒有split 所以我要自己刻函式 然後我刻的函式 因為我把分割字串跟弄成數字合在一起 因為我判斷是用讀到 . 為止 害我中間一直在想讀到結尾的時候怎麼辦 然後我就懶得想了 直接幫他加上一個 . 好爽 每次都是從第一組版本開始比 有以下幾種情況 1: 有一組版本比較大 回傳 2: 如果有一組讀到底了 但是另一組還沒 那就看看沒讀完的有沒有除了0以外的數字 有的話一定比較大 3: 都一樣 回傳 class Solution { public: pair<int,int> wtf(string hate,int l) { pair<int,int> res ; int n = 0; while((l+n < hate.size())&&(hate[l+n] != '.')) { n++; } string jiwp = hate.substr(l,n); int gay = stoi(jiwp); return {gay,l+n}; } int compareVersion(string version1, string version2) { version1 += "."; version2 += "."; int alen = version1.size(); int blen = version2.size(); int al = 0; int bl = 0; bool ok = 0; while(!ok) { int a = 0; int b = 0; if(wtf(version1,al).first > wtf(version2,bl).first) { return 1; } if(wtf(version1,al).first < wtf(version2,bl).first) { return -1; } // cout << wtf(version1,al).first << " " << wtf(version1,al).second << endl; // cout << wtf(version2,bl).first << " " << wtf(version2,bl).second << endl; // cout << "=============\n"; al = wtf(version1,al).second +1; bl = wtf(version2,bl).second +1; if(al==alen && bl==blen)return 0; else if(al==alen){ while(bl < blen) { if(version2[bl] != '.' && version2[bl] != '0')return -1; bl++; } return 0; } else if(bl==blen){ while(al < alen) { if(version1[al] != '.' && version1[al] != '0')return 1; al++; } return 0; } } return 0; } }; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.39.122 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714712768.A.576.html

05/03 13:06, 1年前 , 1F
然後我beat100% 好爽
05/03 13:06, 1F

05/03 13:07, 1年前 , 2F
05/03 13:07, 2F

05/03 13:08, 1年前 , 3F
怎樣
05/03 13:08, 3F

05/03 13:08, 1年前 , 4F
大師 以後幫我內推
05/03 13:08, 4F

05/03 13:08, 1年前 , 5F
你什麼時後要刷題
05/03 13:08, 5F

05/03 13:08, 1年前 , 6F
爛isa
05/03 13:08, 6F

05/03 13:08, 1年前 , 7F
sustainer 我還沒畢業
05/03 13:08, 7F

05/03 13:11, 1年前 , 8F
你好強
05/03 13:11, 8F

05/03 13:12, 1年前 , 9F
咕咕嚕大師又在蝦吹 哀
05/03 13:12, 9F

05/03 13:15, 1年前 , 10F
大師..
05/03 13:15, 10F

05/03 14:03, 1年前 , 11F
大師
05/03 14:03, 11F
文章代碼(AID): #1cD730Ls (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cD730Ls (Marginalman)