首页 > 其他分享 >力扣-数组-219 存在重复元素Ⅱ

力扣-数组-219 存在重复元素Ⅱ

时间:2025-01-12 20:32:20浏览次数:3  
标签:index nums int value 219 力扣 数组 nodes size

解析

同上一篇《力扣-数组-217 存在重复元素》存储在重复元素的思路,重点是放在结构体里,保存之前的下标即可。

代码

class Solution {
public:
    struct myNode{
        int index;
        int value;
    };

    static bool cmp(myNode a, myNode b){
            return a.value < b.value;
    }
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        
        struct myNode nodes[nums.size()];
        for(int i = 0; i< nums.size(); i++){
            nodes[i].index = i;
            nodes[i].value = nums[i];
        }
        sort(nodes, nodes+nums.size(), cmp);
        int last = nodes[0].value;
        int index = nodes[0].index;
        bool res = false;
        for(int i = 1; i < nums.size(); i++){
            if(nodes[i].value == last && abs(index - nodes[i].index) <= k){
                res = true;
                break;
            }
            index = nodes[i].index;
            last = nodes[i].value;
        }
        return res;
    }   
};

标签:index,nums,int,value,219,力扣,数组,nodes,size
From: https://blog.csdn.net/qq_45964225/article/details/145098669

相关文章

  • 算法4:长度最小的子数组
    一、前言题目链接:力扣题目链接给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl,numsl+1,...,numsr-1,numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例1:输入:tar......
  • 算法3:有序数组的平方
    一、前言题目链接:力扣题目链接给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示......
  • 数组操作
    一、遍历数组使用标准的for循环可以完成一个数组的遍历:点击查看代码//遍历数组publicclassMain{publicstaticvoidmain(String[]args){int[]ns={1,4,9,16,25};for(inti=0;i<ns.length;i++){intn=ns[i];......
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
    将有序数组转换为二叉搜索树https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/description/描述给你一个整数数组nums,其中元素已经按升序排列请你将其转换为一棵平衡二叉搜索树示例1输入:nums=[-10,-3,0,5,9]输出:[0,-3,9,-10,nul......
  • 2025/1/12 力扣每日一题(2275.按位与结果大于零的最长组合)
    来源:力扣(LeetCode)链接:https://leetcode.cn/problems/largest-combination-with-bitwise-and-greater-than-zero/description/?envType=daily-question&envId=2025-01-12题目:对数组nums执行按位与相当于对数组nums中的所有整数执行按位与。例如,对nums=[1,5,3]来......
  • 2025/01/12 力扣每日一题
    2275.按位与结果大于零的最长组合对数组nums执行按位与相当于对数组nums中的所有整数执行按位与。例如,对nums=[1,5,3]来说,按位与等于1&5&3=1。同样,对nums=[7]而言,按位与等于7。给你一个正整数数组candidates。计算candidates中的数字每种......
  • 【练习】力扣 热题100 最大子数组和
    题目给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:......
  • 用递归算法实现,数组长度为5且元素的随机数在2-32间不重复的值
    在前端开发中,可以使用JavaScript来生成一个长度为5的数组,数组中的元素是2到32之间的不重复随机数。递归算法可以用来确保生成的随机数是唯一的,即数组中不会出现重复的值。以下是一个可能的实现:functiongenerateUniqueRandomNumbers(arr,min,max,length){if(arr.length>......
  • VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 集成驱动版,新增 12 款 I219 网卡驱动
    VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成驱动版,新增12款I219网卡驱动VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)发布ESXi8.0U3c集成驱动版,在个人电脑上运行企业级工作负载请访问原文链接:https://sysin.org/blog/v......
  • 同构字符串(vector数组实现)
    【问题描述】给定两个字符串s和t,判断它们是否是同构的。如果是同构的,输出true,否则,输出false。注:如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相......