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