当前位置: 首页 > article >正文

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

解析

同上一篇《力扣-数组-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;
    }   
};


http://www.kler.cn/a/501361.html

相关文章:

  • OceanBase环境搭建与熟悉全攻略:开启分布式数据库探索之旅
  • 生态水文研究中的机器学习与数学建模方法选择
  • 代码随想录算法训练营第二十八天-贪心算法-55. 跳跃游戏
  • 青少年编程与数学 02-006 前端开发框架VUE 21课题、路由控制
  • 【杂谈】-50+个生成式人工智能面试问题(二)
  • POI在word中插入图片
  • git去除.idea
  • 向量检索的算法-精确向量检索
  • 线程安全问题介绍
  • 什么是卷积网络中的平移不变性?平移shft在数据增强中的意义
  • 1月11日
  • JuiceFS 2024:开源与商业并进,迈向 AI 原生时代
  • MVC执行流程
  • 如何将文件从 C 盘传输到 D 盘/移动硬盘
  • 【MySQL数据库】基础总结
  • TCP/IP 前传:破晓与传奇
  • 基于单片机的公交车报站系统设计
  • windows:下RabbitMQ安装后,无法进入web管理页面
  • 青少年编程与数学 02-006 前端开发框架VUE 22课题、状态管理
  • 基于大语言模型的组合优化