当前位置: 首页 > 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 ; 
    }
};

http://www.dtcms.com/a/7891.html

相关文章:

  • 《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级别对应关系
  • AWS免费套餐——云存储S3详解
  • 保护医疗数据不受威胁:MPLS专线在医疗网络安全中的角色
  • 一些著名的软件都用什么语言编写?
  • 使用HttpServletRequestWrapper解决web项目request数据流无法重复读取的问题
  • Linux的 .bashrc 有什么作用?
  • 贪吃蛇项目
  • 【报错处理】ModuleNotFoundError: No module named ‘paddle.fluid‘
  • 【Deeplabv3+】Ubutu18.04中使用pytorch复现Deeplabv3+第三步)-----CityscapesScripts生成自己的标签
  • c++谓词
  • 题记(35)--日期累加