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

每日一题leetcode--使循环数组所有元素相等的最少秒数

相当于扩散,每个数可以一次可以扩散到左右让其一样,问最少多少次可以让整个数组都变成一样的数

使用枚举,先将所有信息存到hash表中,然后逐一进行枚举,计算时间长短用看下图

 考虑到环形数组,可以把首项+n放到最后,这样for循环就相当于前后可以联通

贴一张别人的解释

 

class Solution {
public:int minimumSeconds(vector<int>& nums) {unordered_map<int,vector<int>> map;int len=nums.size();for(int i=0;i<len;i++){map[nums[i]].push_back(i);}int maxn=999999;for(auto&[k,v]:map){int minn=-1;v.push_back(v[0]+len);for(int i=0;i<v.size()-1;i++){minn=max((v[i+1]-v[i])/2,minn);}maxn=min(maxn,minn);}return maxn;}
};

http://www.lryc.cn/news/130375.html

相关文章:

  • tauri-react:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果
  • k8s 自身原理之 Service
  • arduino Xiao ESP32C3 oled0.96 下雪花
  • ElasticSearch索引库、文档、RestClient操作
  • Effective Java 案例分享(九)
  • SpringBoot复习:(56)使用@Transactional注解标记的方法的执行流程
  • JVM——引言+JVM内存结构
  • open cv学习 (十)图形检测
  • 【C语言】字符函数和字符串函数
  • 前馈神经网络正则化例子
  • spring的核心技术---bean的生命周期加案例分析详细易懂
  • 【Maven教程】(一)入门介绍篇:Maven基础概念与其他构建工具:理解构建过程与Maven的多重作用,以及与敏捷开发的关系 ~
  • 今天,谷歌Chrome浏览器部署抗量子密码
  • SUMO traci接口控制电动车前往充电站充电
  • 现代CSS中的换行布局技术
  • 简单理解Python中的深拷贝与浅拷贝
  • C++之std::pair<uint64_t, size_t>应用实例(一百七十七)
  • 前端打开后端返回的HTML格式的数据
  • How to deal with document-oriented data
  • Http 状态码汇总
  • mysql自定义实体类框架
  • 批量将Excel中的第二列内容从拼音转换为汉字
  • 消息推送:精准推送,提升运营效果,增添平台活力
  • [保研/考研机试] KY43 全排列 北京大学复试上机题 C++实现
  • Java将时间戳转化为特定时区的日期字符串
  • 【算法挨揍日记】day03——双指针算法_有效三角形的个数、和为s的两个数字
  • 通过 kk 创建 k8s 集群和 kubesphere
  • 感觉和身边其他人有差距怎么办?
  • 【C语言基础】宏定义的用法详解
  • 微服务系列文章之 SpringBoot 最佳实践