アルゴリズム:サイズバージョンの比較

Javaのバージョン:

class test {
    public int versionCompare(String version1, String version2) {
        String[] v1Arr = version1.split("\\.");
        String[] v2Arr = version2.split("\\.");

        int i = 0;
        int diff = 0;
        diff = v1Arr.length - v2Arr.length;

        while (diff == 0 && i < v1Arr.length
            && (diff = v1Arr[i].length() - v2Arr[i].length()) == 0
            && (diff = v1Arr[i].compareToIgnoreCase(v2Arr[i])) == 0) {
            ++i;
        }
        if (diff > 0) {
            return 1;
        } else if (diff < 0) {
            return -1;
        }
        return 0;
    }

    public static void main(String[] args) {
        String a = "0.4.11";
        String b = "0.4.6";
        int c = new test().versionCompare(a, b);
        System.out.println(c);
    }
}

Pythonのバージョン

def versionCompare(version1, version2):
    v1Arr = version1.split(".")
    v2Arr = version2.split(".")
    i = 0
    diff = 0
    diff = len(v1Arr) - len(v2Arr)
    while diff == 0 and i < len(v1Arr):
        diff = cmp(int(v1Arr[i]), int(v2Arr[i]))
        i += 1
    if diff > 0:
        return 1
    elif diff < 0:
        return -1
    else:
        return 0

 

おすすめ

転載: blog.csdn.net/qq_35462323/article/details/89707745