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

厦门做网站公司优化英文

厦门做网站公司,优化英文,秦皇岛网站制作费用,产品包装设计公司文章目录 LeetCode?启动!!!题目:使循环数组所有元素相等的最少秒数题目描述代码与解题思路 LeetCode?启动!!! 今天的题目类型差不多是第一次见到,原来题目描述…

文章目录

  • LeetCode?启动!!!
  • 题目:使循环数组所有元素相等的最少秒数
    • 题目描述
    • 代码与解题思路

LeetCode?启动!!!


今天的题目类型差不多是第一次见到,原来题目描述的操作是每个数 “扩散” 到整个数组,直到数组的数变的一模一样

题目:使循环数组所有元素相等的最少秒数

题目链接:2808. 使循环数组所有元素相等的最少秒数

题目描述

代码与解题思路

func minimumSeconds(nums []int) int {pos := map[int][]int{}for i, v := range nums {pos[v] = append(pos[v], i) // 下标数组 pos[v]}n := len(nums)ans := n/2 // 每一秒钟, 两个值相同的数都在同时往外扩散, 如果只有一个数能扩散, 就需要 n/2 秒for _, a := range pos {max_len := a[0] + n - a[len(a)-1] // 环形数组 nums 两个下标背面相隔的距离for i := 1; i < len(a); i++ {max_len = max(max_len, a[i]-a[i-1]) // 数组 nums 两个下标正面相隔的距离 }ans = min(ans, max_len/2) // 两个数同时扩散, 所以需要/2}return ans
}

这道题我用的思路是:

  1. 先将数组中值相同的数塞进以该值为 key 的 map 中
  2. 遍历 map 中每一个数组,找出两个下标之间最远的长度(因为题目给出的:nums[(i - 1 + n) % n] 代表着 nums 数组能够被看成是一个环形数组,所以我们需要计算两种情况:一个是正常的下标相减,一个是环形数组从背面的下标相减,也就是这个操作:max_len := a[0] + n - a[len(a)-1])
  3. 最后找到所有相同数下标能够扩散到对方的最小值,就是我们要求的最小秒数了(如果没有两个以上的相同数,那就只能用一个数扩散 n/2 秒了)
http://www.yidumall.com/news/19283.html

相关文章:

  • 建设网站询价对比表模板seo搜索
  • 石家庄网站建设找哪家最新推广赚钱的app
  • 张家港网站建设培训班seo推广经验
  • 贵州贵阳疫情最新情况seo也成搜索引擎优化
  • 网站url优化百度推广客户端怎样注册
  • 企业网站建设网站美业推广平台
  • 门户网站需要多少费用便宜的seo网络营销推广
  • 景乔网站建设seo排名规则
  • WordPress手机站插件万能bt搜索引擎网站
  • 长沙哪里做网站合肥全网推广
  • web前端技术基础seo排名规则
  • 咋么做进网站跳转加群app推广赚佣金
  • 网站的banner轮播怎么做360推广登录
  • 苏州网站建设logo网络营销八大目标是什么
  • 帝国做的网站怎么上传seo交流qq群
  • 淘宝网怎样做网站上海seo推广方法
  • c PHP做网站对比简述如何优化网站的方法
  • angularjs开发网站模板推广网站的方法有哪些
  • 建设黑彩网站需要什么如何屏蔽百度广告推广
  • 邢台做网站哪儿好图片搜索识图入口
  • 电商网站那些功能用到静态化功能网易搜索引擎
  • 济源疫情最新情况静默黑河seo
  • 江都建设招标网站域名访问网站入口
  • 苏州网站建设开发济南网络优化厂家
  • 快速网站仿制qq营销推广方法和手段
  • 如何做医药类网站网站怎么优化到首页
  • 旅游网站开发的目的和意义win10必做的优化
  • 南宁百度网站公司seo推广专员
  • wordpress CPT UIseo结算系统
  • 三级网站菜单栏品牌策划方案案例