zoukankan      html  css  js  c++  java
  • LeetCode:165. 比较版本号

    1、题目描述

    比较两个版本号 version1 和 version2
    如果 version1 version2 返回 1,如果 version1 version2 返回 -1, 除此之外返回 0

    你可以假设版本字符串非空,并且只包含数字和 . 字符。

     . 字符不代表小数点,而是用于分隔数字序列。

    例如,2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。

    示例 1:

    输入: version1 = "0.1", version2 = "1.1"
    输出: -1
    

    示例 2:

    输入: version1 = "1.0.1", version2 = "1"
    输出: 1
    

    示例 3:

    输入: version1 = "7.5.2.4", version2 = "7.5.3"
    输出: -1
    

    2、题解

    2.1、解法一

    class Solution(object):
        def compareVersion(self, version1, version2):
            """
            :type version1: str
            :type version2: str
            :rtype: int
            """
            v1 = [int(i) for i in version1.split(".")]
            v2 = [int(i) for i in version2.split(".")]
            
            n1 = len(v1)
            n2 = len(v2)
            if n1 > n2:
                print("ok")
                v2.extend([0 for i in range(n1-n2)])
            elif n1 < n2:
                v1.extend([0 for i in range(n2-n1)])
    
            i = 0
            n = len(v1)
            while i <n:
                if v1[i] > v2[i]:
                    return 1
                elif v1[i] < v2[i]:
                    return -1
                i += 1
    
            return 0
    

      

  • 相关阅读:
    arthas-常用命令
    k8s-容器技术-Mount Namespace
    k8s-statefulset介绍
    k8s-yaml配置文件
    k8s-控制器模式
    k8s-pod使用
    k8s-pod简介(半原创)
    k8s-安装我们第一个集群
    k8s-安装
    Corn表达式详解(转)
  • 原文地址:https://www.cnblogs.com/bad-robot/p/10065596.html
Copyright © 2011-2022 走看看