作者JIWP (神楽めあ的錢包)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Fri May 3 19:58:42 2024
你版剩我不什麼split
只能一個個慢慢比較了
寫出一堆垃圾code
紫砂
思路:
就以'.'為分界去計算version的大小
cnt=cnt*10+(int)(version[i]-'0')
阿如果是leading 0就略過
如果現在的數字>0,就不要掠過0
就算有一個version到底也不要跳出,要去看另外一個version還有沒有值
C code :
int compareVersion(char* version1, char* version2) {
int idx1=0,idx2=0,n=strlen(version1),m=strlen(version2);
while(idx1<n || idx2<m){
int cnt1=0,cnt2=0;
while(idx1<n && version1[idx1]!='.'){
if (cnt1>0 || version1[idx1]!='0'){
cnt1=cnt1*10+(int)(version1[idx1]-'0');
}
idx1++;
}
while(idx2<m && version2[idx2]!='.'){
if (cnt2>0 || version2[idx2]!='0'){
cnt2=cnt2*10+(int)(version2[idx2]-'0');
}
idx2++;
}
idx1++;
idx2++;
if (cnt1>cnt2){
return 1;
}else if (cnt2>cnt1){
return -1;
}
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.11.31 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714737524.A.52D.html
→ DJYOSHITAKA: 別捲了 05/03 19:58
→ JIWP: 我從早上想到現在= = 05/03 20:00
推 digua: 大師 05/03 20:00
推 wu10200512: 用C卷 太狠了== 05/03 20:01
→ JIWP: 姑姑魯:( 05/03 20:02
推 digua: 為啥你有時候會換用c寫 05/03 20:03
推 argorok: 別捲了 05/03 20:07
推 sustainer123: 你是大師 05/03 20:22