题解 | #比较版本号#

比较版本号

https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

难度不大,不过少有地一次调试都没有秒杀了……庆祝一下

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 比较版本号
     * @param version1 string字符串 
     * @param version2 string字符串 
     * @return int整型
     */
     void core(string&version,vector<int>& v){
        int i=0,j=0,k=0,l=0;
         for(i=0;i<version.size();i++){
            for(j=i;version[j]!='.'&&j<version.size();j++){

            }
            string s;
            for(k=i;k<=j;k++){
                s+=version[k];
            }
            v[l]=stoi(s);
            l++;
            i=j;
        }
     }
    int compare(string version1, string version2) {
        // write code here
        int i=0,j=0,k;
        for(auto c : version1){
            if(c!='.')i++;
        }
        for(auto c:version2){
            if(c!='.')j++;
        }
        k=max(i,j)+1;//版本号被分割了多少部分
        vector<int> v1(k,0),v2(k,0);
        core(version1,v1);
        core(version2,v2);
        for(i=0;i<k;++i){
            if(v1[i]>v2[i]){return 1;
            }else if(v2[i]>v1[i]){
                return -1;
            }

        }
        return 0;


    }
};

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务