leetcode-探索-初级-数组-存在重复-java
2018-11-26 08:35
375 查看
给定一个整数数组,判断是否存在重复元素。
如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。
示例 1:
[code]输入: [1,2,3,1] 输出: true
示例 2:
[code]输入: [1,2,3,4] 输出: false
示例 3:
[code]输入: [1,1,1,3,3,4,3,2,4,2] 输出: true
我的方法:
排序,之后一个一个判断就行
[code]public boolean containsDuplicate(int nums[]) { Arrays.sort(nums); int i = 0; for ( ; i < nums.length - 1 && nums[i] != nums[i + 1] ; i ++); return i < nums.length - 1; }
官网上给的最佳解法:
[code]public boolean containsDuplicate(int nums[]) { for (int i = 1; i < nums.length; i++) { for (int j = i - 1; j >= 0; j--) { if (nums[i] > nums[j]) { break; } else if (nums[i] == nums[j]) { return true; } } } return false; }
大眼一看好像是那回事儿~但是仔细看看之后,会发现,,,这写的是啥?为什么自己完全理解不了他的意图(笑~)。
你看到了nums[i] > nums[j]的break跳转,于是就想试试这个例子:nums=[5, 4, 3, 2, 1, 5]
然后,,,你将会发现,,,这个例子是过不了的..emmm,就,就,就很尴尬..~
相关文章推荐
- LeetCode-探索-初级-数组-两数之和-java
- leetcode-探索-初级-数组-两个数组的交集-java
- LeetCode-探索-初级-数组-加一-java
- leetcode-探索-初级-数组-移动0-java
- LeetCode-探索-初级-数组-旋转图像-java
- leetcode-探索-初级-数组-只出现一次的数字-java
- leetcode 287. Find the Duplicate Number 数组重复元素查询 + 环的存在判定 + 快慢指针 + 很妙的想法
- LeetCode-探索-初级-字符串-整数反转-java
- leetcode:java.T018_4Sum---给定一个整数数组,找出a + b + c + d = target的唯一解,不能有重复元素组
- LeetCode-探索-初级-字符串-字符串中的第一个唯一字符-java
- LeetCode-探索-初级-字符串-有效的字母异位词-java
- 【LeetCode-面试算法经典-Java实现】【026-Remove Duplicates from Sorted Array(删除排序数组中的重复元素)】
- 去掉有序数组中重复数字 原地 leetcode java (最简单的方法)
- LeetCode探索模块初级算法数组章节python3代码实现
- leetcode-java.T015_3Sum---给定一个n个元素的数组,是否存在a,b,c三个元素,使用得a+b+c=0,找出所有符合这个条件的三元组
- LeetCode-探索-初级-字符串-反转字符串-java
- leetcode解题之219 # Contains Duplicate II Java版 (数组中出现重复元素)
- (Java) LeetCode 442. Find All Duplicates in an Array —— 数组中重复的数据
- java判断循环数组是否连续并获取不连续的项以及重复项
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】