Re: [閒聊] 每日leetcode

作者: oinishere (是oin捏)   2024-05-03 13:06:06
※ 引述 《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;
}
};
作者: oinishere (是oin捏)   2023-05-03 13:06:00
然後我beat100% 好爽
作者: isa0721 (Isa0721)   2024-05-03 13:07:00
作者: oinishere (是oin捏)   2024-05-03 13:08:00
怎樣
作者: sustainer123 (caster)   2024-05-03 13:08:00
大師 以後幫我內推
作者: oinishere (是oin捏)   2024-05-03 13:08:00
你什麼時後要刷題爛isasustainer 我還沒畢業
作者: wu10200512 (廷廷)   2024-05-03 13:11:00
你好強
作者: oinishere (是oin捏)   2024-05-03 13:12:00
咕咕嚕大師又在蝦吹 哀
作者: digua (地瓜)   2024-05-03 13:15:00
大師..

Links booklink

Contact Us: admin [ a t ] ucptt.com