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

解析

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

代码

cpp 复制代码
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;
    }   
};
相关推荐
get_money_1 小时前
动态规划汇总1
开发语言·数据结构·笔记·算法·leetcode·动态规划·代理模式
Huazzi.1 小时前
【算法学习】——整数划分问题详解(动态规划)
开发语言·数据结构·c++·学习·算法·动态规划
BingLin-Liu2 小时前
备战蓝桥杯:树的存储与遍历(dfs和bfs)
算法·深度优先·宽度优先
AI技术控2 小时前
计算机视觉算法实战——头盔检测
人工智能·算法·计算机视觉
用手码出世界4 小时前
二分查找算法——搜索插入位置
数据结构·算法·leetcode
得物技术4 小时前
Triton-Lang在Transformer优化加速中的实践 | 得物技术
人工智能·算法
低调学习者4 小时前
每日一题(三):压缩字符串(行程长度编码)
数据结构·算法
iracole4 小时前
深度学习camp-第J7周:对于ResNeXt-50算法的思考
人工智能·深度学习·算法
苏苏大大4 小时前
【leetcode 13】哈希表 242.有效的字母异位词
java·算法·leetcode·面试·散列表
sjsjs115 小时前
【数据结构-堆】力扣1834. 单线程 CPU
数据结构·算法·leetcode