zoukankan      html  css  js  c++  java
  • 判断存在重复元素 断舍离

    存在重复元素
    给定一个整数数组,判断是否存在重复元素。

    如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。

    示例 1:

    输入: [1,2,3,1]
    输出: true
    示例 2:

    输入: [1,2,3,4]
    输出: false
    示例 3:

    输入: [1,1,1,3,3,4,3,2,4,2]
    输出: true
    相关标签
    数组
    哈希表
    排序

    作者:力扣 (LeetCode)
    链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x248f5/
    来源:力扣(LeetCode)
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

      

    class Solution {
        public boolean containsDuplicate(int[] nums) {
            Arrays.sort(nums);
            for (int ind = 1; ind < nums.length; ind++) {
                if (nums[ind] == nums[ind - 1]) {
                    return true;
                }
            } 
            return false;
        }
    }
     
     
    -------使用bitmap 思路实现,(假设入参最大值 <800000)
    class Solution {
        public boolean containsDuplicate(int[] nums) {
            byte[] bitmap = new byte[200000];
            for(int num : nums) {
                int arridx = num >> 3;
                if(arridx < 0) { //自定义业务逻辑:负数使用 另一半数组空间【100000-200000】
                    arridx = 100000 + arridx*-1;
                }
                int position = num & 7;
                if((bitmap[arridx] & (1 << position)) != 0) {
                    return true;
                }
                 bitmap[arridx] |= (1 << position);
            }
            return false;

        }
    }
    博客地址: https://www.cnblogs.com/java2sap/
    世界丰富多彩,知识天花乱坠。
    ---如果有帮到你,点个赞吧~
  • 相关阅读:
    Swift流程控制之循环语句和判断语句详解
    框架内的文件集合
    十分钟让你明白Objective-C的语法(和Java、C++的对比)
    Swift版音乐播放器(简化版),swift音乐播放器
    通过数字电视通过宽带网络取代互联网电视机顶盒应用
    JS学习笔记-OO创建怀疑的对象
    如果不能显示真正的考验个别车型toast问题解决
    swift 它们的定义TabBarItem
    NSUserDefaults API简单的介绍和使用英文文件
    FZU 1686 龙之谜 重复覆盖
  • 原文地址:https://www.cnblogs.com/java2java/p/15588510.html
Copyright © 2011-2022 走看看