zoukankan      html  css  js  c++  java
  • 新浪2020届校园笔试编程题1

    解题思路:

    1. 将字符串按照 “,” 拆分为数组
    2. 遍历数组,记录最小值出现的索引位置
    3. 每个值比较的时候需要按照 "." 拆分逐位比较

    实例代码:

    /**
     * 获取最小版本号
     */
    public String getMin(String[] list) {
    	if (list.length == 1) {
    		System.out.println(list[0]);
    	}
    	int idx = 0;
    	for (int i = 1; i < list.length; i++) {
    		String[] sv1 = list[idx].split("\\.");
    		String[] sv2 = list[i].split("\\.");
    		// 比较分割后的字符串数组长度
    		if (sv1.length <= sv2.length) {
    			// 当sv1比sv2大,取索引i的位置为当前最小值idx
    			if (compare(sv1, sv2) > 0) {
    				idx = i;
    			}
    		} else {
    			if (compare(sv2, sv1) < 0) {
    				idx = i;
    			}
    		}
    	}
    	return list[idx];
    }
    
    /**
     * 比较两个字符串数组值的大小
     * @param sv1 短的字符串数组
     * @param sv2
     * @return
     */
    private int compare(String[] sv1, String[] sv2) {
    	// 遍历短的字符串数组
    	for (int j = 0; j < sv1.length; j++) {
    		// 两个值相减
    		int n = Integer.parseInt(sv1[j]) - Integer.parseInt(sv2[j]);
    		if (n > 0) {
    			return 1;
    		}
    		if (n < 0) {
    			return -1;
    		}
    	}
    	// 如果当前没比较出大小,认为短的(sv1)更小
    	return -1;
    }
    
  • 相关阅读:
    tableau用户留存分析
    tableau用户分类
    业务
    数据分析的思维技巧-二
    数据分析的思维技巧
    业务化思维
    公式化思维
    结构化思维
    Shortest Unsorted Continuous Subarray
    Longest Harmonious Subsequence
  • 原文地址:https://www.cnblogs.com/fansys/p/11441263.html
Copyright © 2011-2022 走看看