• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

AmyMoJianJun

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

[LeetCode]961. 在长度 2N 的数组中找出重复 N 次的元素

/*961. 在长度 2N 的数组中找出重复 N 次的元素
已解答
简单

给你一个整数数组 nums ,该数组具有以下属性:

nums.length == 2 * n.
nums 包含 n + 1 个 不同的 元素
nums 中恰有一个元素重复 n 次
找出并返回重复了 n 次的那个元素。

示例 1:

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

输入:nums = [2,1,2,5,3,2]
输出:2
示例 3:

输入:nums = [5,1,5,2,5,3,5,4]
输出:5

提示:

2 <= n <= 5000
nums.length == 2 * n
0 <= nums[i] <= 104
nums 由 n + 1 个 不同的 元素组成,且其中一个元素恰好重复 n 次
*/

class Solution {
public:
//由于条件为2 * n长度的数组包含 n + 1 个 不同的 元素,且恰有一个元素重复 n 次。则所求的重复n次的目标元素为唯一多次出现的相等的元素。需要存储所有不相等的元素,将当前元素与已经遍历的相等的所有元素遍历是否相等。如果相等则返回该值,不等则存储该值进已遍历的不重复的元素。
    int repeatedNTimes(vector<int>& nums) {
        vector<int> prev_nums;

        prev_nums.push_back(nums[0]);
        for(int i=1;i<nums.size();i++){
            for(int j=0;j<prev_nums.size();j++){
                if(nums[i]==prev_nums[j])
                {
                    return nums[i];
                }
            }
            prev_nums.push_back(nums[i]);
        }
        return nums[0];
    }


};

posted on 2024-07-13 11:25  Mo_Jianjun  阅读(25)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3