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

Leetcode 2808 . 使循环数组所有元素相等

链接 : 

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

思路 : 

本题是一道思维题;

最后变成的一样的数,一定是原数组中存在的数,那么用hash表来统计每个数在原数组中x出现的次数,那么对于非x的元素,要变成x,肯定是由两边的x传播而来,那么传播距离最大也就是两个x的正中间,那么只要统计每个x之间相邻的x的距离,求距离的一半然后求这个的最大值,就是全部其它元素变成x的最小时间;

代码 :

class Solution {
public:
    int minimumSeconds(vector<int>& nums) {
        int ans = INT_MAX ;
        unordered_map<int,vector<int>> mp ;
        int n = nums.size() ;
        for(int i=0;i<n;i++) mp[nums[i]].push_back(i);
        for(auto &it : mp){
            auto vc = it.second ;
            vc.push_back(vc[0]+n);
            int k = 0 ;
            for(int i=0;i<vc.size()-1;i++){
                k = max(k , (vc[i+1]-vc[i])/2);
            }
            ans = min(ans , k);
        }
        return ans ; 
    }
};

相关文章:

  • 《HTML 简易速速上手小册》第2章:HTML 的标签和元素(2024 最新版)
  • 【正点原子STM32】IWDG 独立看门狗(简介、工作原理、IWDG寄存器配置操作步骤、IWDG溢出时间计算、IWDG配置步骤、独立看门狗流程)
  • [网络安全]IIS---FTP服务器 、serverU详解
  • 技术科普 | 机器视觉5大关键技术及其常见应用
  • 空间数据分析和空间统计工具库PySAL入门
  • 三步实现 Sentinel-Nacos 持久化
  • 【C++】C++入门—— 引用
  • linux -- per-CPU变量
  • 蓝桥杯(Python)每日练Day5
  • HT71663 13V,12A全集成同步升压转换器 中文资料 规格书
  • 编程笔记 html5cssjs 068 JavaScrip Boolean数据类型
  • 黑客(网络安全)技术速成自学
  • Unity——八叉树的原理与实现
  • Java版企业电子招标采购系统源码—企业战略布局下的采购寻源
  • 12.从项目经理的生存哲学到适配器模式(Adapter Pattern)
  • SVN Previous operation has not finished; run ‘cleanup‘ if it was interrupted
  • 【Ubuntu 22.04.3 LTS】apt-get下载安装有关问题可能原因及解决方法
  • AI场景下存储架构有哪些?
  • 网络安全(黑客)——自学2024
  • Android 平台代码、版本与API级别对应关系
  • 深圳市政协原副主席王幼鹏被“双开”
  • 比特币价格重返10万美元,哪些因素使然?
  • 逆境之上,万物生长
  • 金地集团:今年前4个月实现销售额109.3亿元,同比下降52.44%
  • 迪拜金融市场CEO:2024年市场表现出色,超八成新投资者来自海外
  • 抗战回望21︱《“良民”日记》:一个“良民”在沦陷区的见闻与感受