看板 Marginalman 關於我們 聯絡資訊
※ 引述 《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
oinishere: 然後我beat100% 好爽 05/03 13:06
isa0721: 喔 05/03 13:07
oinishere: 怎樣 05/03 13:08
sustainer123: 大師 以後幫我內推 05/03 13:08
oinishere: 你什麼時後要刷題 05/03 13:08
oinishere: 爛isa 05/03 13:08
oinishere: sustainer 我還沒畢業 05/03 13:08
wu10200512: 你好強 05/03 13:11
oinishere: 咕咕嚕大師又在蝦吹 哀 05/03 13:12
digua: 大師.. 05/03 13:15
JIWP: 大師 05/03 14:03