zoukankan      html  css  js  c++  java
  • 1051. 高度检查器『简单』

    题目来源于力扣(LeetCode

    一、题目

    1051. 高度检查器

    题目相关标签:数组

    提示:

    • 1 <= heights.length <= 100
    • 1 <= heights[i] <= 100

    二、解题思路

    1. 分析题意得到:结果即 heights 数组排序前与排序后不相同元素的个数

    2. 因数组的引用类型,所以通过 Arrays.copy 方法来对 heights 数组进行复制的操作

    3. 对排序后的复制数组进行遍历,并与 heights 数组元素进行比较

    4. 不同的元素个数即是返回的结果

    三、代码实现

    public static int heightChecker(int[] heights) {
        int ans = 0;
        // 复制数组
        int[] arr = Arrays.copyOf(heights, heights.length);
        // 升序排列
        Arrays.sort(arr);
    
        for (int i = 0; i < arr.length; i++) {
            // 记录两个数组中的不同项
            if (arr[i] != heights[i]) {
                ans += 1;
            }
        }
        return ans;
    }
    

    四、执行用时

    五、部分测试用例

    public static void main(String[] args) {
        int[] heights = {1, 1, 4, 2, 1, 3};  // output:3
    //    int[] heights = {5, 1, 2, 3, 4};  // output:5
    //    int[] heights = {1, 2, 3, 4, 5};  // output:0
    
        int result = heightChecker(heights);
        System.out.println(result);
    }
    
  • 相关阅读:
    GDUFE ACM-1093
    GDUFE ACM-1088
    GDUFE ACM-1069
    GDUFE ACM-1051
    GDUFE ACM-1049
    GDUFE ACM-1046
    GDUFE ACM-1045
    GDUFE ACM-1043
    OpenCV学习(7.12)
    OpenCV学习(7.11)
  • 原文地址:https://www.cnblogs.com/zhiyin1209/p/13068607.html
Copyright © 2011-2022 走看看