题解 | #比较版本号#

比较版本号

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串 
# @param version2 string字符串 
# @return int整型
#
class Solution:
    def compare(self , version1: str, version2: str) -> int:
        # write code here
        d1 = {}
        d2 = {}
        c1 = 0
        c2 = 0
        a1,a2 = -1,-1
        for i in range(len(version1)):
            if version1[i] != ".":
                
                d1[c1] = version1[a1+1:i+1]
            else:
                c1 += 1
                a1 = i
        
        for i in range(len(version2)):
            if version2[i] != ".":
                
                d2[c2] = version2[a2+1:i+1]
            else:
                c2 += 1
                a2 = i
        print(d1,d2)
        def largeOrNot(dic1,dic2,mod):
            for i in dic1.keys():
                print(mod)
                print(dic1)
                if int(dic1[i]) > int(dic2[i]):
                    return mod
                elif int(dic1[i]) < int(dic2[i]):
                    return -mod
            
            large2 = False
            if len(dic1)<len(dic2):
                for j in range(len(dic1),len(dic2)-1):
                    if dic2[j] != 0:
                        large2 = True

            if dic1.keys == dic2.keys or not large2:
                return 0
            else:
                return -mod
        mod = 1 if len(d1)<=len(d2) else -1

        return largeOrNot(d1,d2,mod) if len(d1)<=len(d2) else largeOrNot(d2,d1,mod)


            

全部评论

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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