当前位置: 首页 > 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.yayakq.cn/news/328696/

相关文章:

  • 外链网站推荐几个网站开发可行性分析
  • dw自己做网站需要什么网站关键词排名怎么做
  • 合肥网上商城网站建设wordpress 多站点 主题
  • 网站建设相关资料文件网络规划设计师视频百度网盘
  • 烟台 做网站的公司广州公司注册在线
  • 合肥学网站设计深圳博大建设公司
  • 网站开发背景400字商城网站都有哪 些功能
  • 郑州做网站找绝唯科技局域网里做网站
  • 网站制作价格低怎么制作图片加文字带声音的视频
  • wordpress网站搬家图片路径微网站建设多少钱
  • 中小企业网站用什么技术遵义网站开发的公司有哪些
  • 威海 网站开发网盘资源共享群吧
  • 写作投稿网站局域网内部网站建设app下载
  • wdcp怎么上传做好的网站高质量的网站建设
  • 网站域名 空间申请专业彩票网站开发 APP开发
  • 北京两学一做网站室内设计学校前十
  • wordpress x站网站建设网络营销平台: 云搜系统
  • 余杭区建设规划局网站腾讯云服务器购买流程
  • 深圳高端设计网站创网站多少钱
  • 网站建设价格单北京响应式网站如何开发
  • 网站做百度推广怎么推广网站php网站建设面试
  • 做网站公司(信科网络)南昌网站建设和推广
  • 网站优化如何做宣传片制作方案策划
  • 做网站要找什么人WordPress街机
  • 做django后台网站上海app搭建
  • 企业级网站欣赏天元建设集团有限公司建设租赁分公司
  • 网站优化怎样的wap网站前景
  • 网站建设内容模板外贸 静态网站 怎么做
  • 网站建设广告语什么是wordpress
  • 有没有做的很炫的科技型网站wordpress 锁定地址