文章图片
思路分析:
这道题有两种解法。第一种解法是定义一个标记数组,如果遇到一个数字,就判断这个数字是否出现过,如果没有出现过就标记为1代表出现了一次。如果出现过就直接跳出循环输出即可,需要注意的是由于可能存在负数,所以要定义map。第二种解法是把所有数字排个序,判断相邻的两个数字是否相等即可。
代码实现1:
class Solution {
public:
bool containsDuplicate(vector& nums) {
sort(nums.begin(),nums.end());
int flag=0;
for(int i=0;
i
代码实现2:
class Solution {
public:
bool containsDuplicate(vector& nums) {
mapbook;
int len=nums.size();
int flag=0;
for(int i=0;
i
【leetcode:存在重复元素】
推荐阅读
- 算法题-字符串3.21
- LeetCode编程题解法汇总|力扣解法汇总393- UTF-8
- LeetCode编程题解法汇总|力扣解法汇总653-两数之和 IV - 输入 BST
- 排序算法|JS优化版(二叉搜索树第k大节点)
- 算法题-字符串3.20
- 数据结构(C语言实现)|数据结构和算法复杂度简述
- LeetCode编程题解法汇总|力扣解法汇总2039-网络空闲的时刻
- java|LeetCode(561. Array Partition(数组分割))
- leetcode|leetcode:词典中最长的单词