首页 > 其他 > 详细

1051. 高度检查器『简单』

时间:2020-06-08 21:33:16      阅读:60      评论:0      收藏:0      [点我收藏+]

题目来源于力扣(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);
}

1051. 高度检查器『简单』

原文:https://www.cnblogs.com/zhiyin1209/p/13068607.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!