zoukankan      html  css  js  c++  java
  • [LeetCode] Compare Version Numbers

    Question:

    Compare two version numbers version1 and version2.
    If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.

    You may assume that the version strings are non-empty and contain only digits and the . character.
    The . character does not represent a decimal point and is used to separate number sequences.
    For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.

    Here is an example of version numbers ordering:

    0.1 < 1.1 < 1.2 < 13.37

    1、题型分类:

    2、思路:

    3、时间复杂度:

    4、代码:

    public class Solution {
        public int compareVersion(String version1, String version2) {
                    String[] v1=version1.split("\.");
            String[] v2=version2.split("\.");
            int x=Math.max(v1.length, v2.length);
            int [] i1=convertStringArrayToIntegerArray(v1,x);
            int [] i2=convertStringArrayToIntegerArray(v2,x);
            for(int i=0;i<x;i++)
            {
                if(i1[i]>i2[i])
                    return 1;
                else if(i1[i]<i2[i])
                    return -1;
            }
            return 0;
        }
            public int[] convertStringArrayToIntegerArray(String[] str,int l)
        {
            int len=str.length;
            int [] r=new int[l];
            for(int i=0;i<len;i++)
            {
                r[i]=Integer.parseInt(str[i]);
            }
            return r;
        }
    }

    5、优化:

    6、扩展:

  • 相关阅读:
    BZOJ3997:[TJOI2015]组合数学(DP,Dilworth定理)
    BZOJ4807:車(组合数学,高精度)
    BZOJ4008:[HNOI2015]亚瑟王(DP,概率期望)
    BZOJ1499:[NOI2005]瑰丽华尔兹(DP,单调队列)
    洛谷1514 引水入城
    洛谷 1018 乘积最大
    八数码难题
    CODEVS 1069关押罪犯
    CODEVS 1067 机器翻译
    洛谷 P1417 烹调方案
  • 原文地址:https://www.cnblogs.com/maydow/p/4644086.html
Copyright © 2011-2022 走看看