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

手机网站设计尺寸大小营销型网页设计

手机网站设计尺寸大小,营销型网页设计,招聘信息网站怎么做,优秀的个人网页展示2808. 使循环数组所有元素相等的最少秒数 难度: 中等 题目大意: 给你一个下标从 0 开始长度为 n 的数组 nums 。 每一秒,你可以对数组执行以下操作: 对于范围在 [0, n - 1] 内的每一个下标 i ,将 nums[i] 替换成 nums[i] &…

2808. 使循环数组所有元素相等的最少秒数

难度: 中等

题目大意:

给你一个下标从 0 开始长度为 n 的数组 nums

每一秒,你可以对数组执行以下操作:

  • 对于范围在 [0, n - 1] 内的每一个下标 i ,将 nums[i] 替换成 nums[i]nums[(i - 1 + n) % n] 或者 nums[(i + 1) % n] 三者之一。

注意,所有元素会被同时替换。

请你返回将数组 nums 中所有元素变成相等元素所需要的 最少 秒数。

提示:

  • 1 <= n == nums.length <= 10^5
  • 1 <= nums[i] <= 10^9

示例 1:

输入:nums = [1,2,1,2]
输出:1
解释:我们可以在 1 秒内将数组变成相等元素:
- 第 1 秒,将每个位置的元素分别变为 [nums[3],nums[1],nums[3],nums[3]] 。变化后,nums = [2,2,2,2] 。
1 秒是将数组变成相等元素所需要的最少秒数。

分析

首先我们是不知道最终是会被哪个数给占据的,不一定是数量最多的数字,所以我们要枚举会被哪个数占据,假设是x,那么如果全部被x占据,那么最终需要多少秒能够把全部的数组全部占满呢,思考一下应该是相邻两个x的位置的最大值/2,所以我们只需要存一下每个数字对应的下标就可以了, 注意这个是环形的,所以最左边x的是和最右边的x向对应的

哈希表 + 枚举

class Solution {
public:int minimumSeconds(vector<int>& nums) {int n = nums.size();unordered_map<int, vector<int>> pos;for (int i = 0; i < n; i ++) {int x = nums[i];pos[x].push_back(i);}int res = 1e9;for (auto& [_, p] : pos) {int locmx = p[0] + n - p.back(); // 最左侧和最右侧的数字for (int i = 1; i < p.size(); i ++) {locmx = max(locmx, p[i] - p[i - 1]);}res = min(res, locmx >> 1);}return res;}
};

时间复杂度: O ( n ) O(n) O(n)

结束了

http://www.hkea.cn/news/42065/

相关文章:

  • 嘉祥网站建设广东省自然资源厅
  • 忘记网站后台密码网站排名软件推荐
  • 怎么查公司网站有没有被收录火爆产品的推广文案
  • 绵阳网站建设 经开区网络教学平台
  • wordpress阅读量没改7个湖北seo网站推广策略
  • 网站建设成功案例方案找培训机构的平台
  • 园林绿化网站建设百度关键词优化公司
  • 个人如何建设网站网络营销方式有哪些分类
  • 北京做百度网站建设电商平台如何推广运营
  • 电脑个人网站怎么做网络销售新手入门
  • 海口网站建设 小黄网络手机百度搜索
  • 太原百度网站建设网站应该如何进行优化
  • 烟台市做网站uc浏览网页版进入
  • 工程信息网站哪家做的较好提高工作效率心得体会
  • 建站平台入口徐州网站设计
  • 出口手工艺品网站建设方案站长统计app下载
  • 提升学历骗局武汉搜索引擎排名优化
  • wordpress+park主题上海全国关键词排名优化
  • 潍坊最早做网站的公司短链接生成网址
  • 东莞化工网站建设爱站网ip反域名查询
  • 做网站赚钱 2017哈尔滨关键词排名工具
  • 建设的网站首页微信怎么做推广
  • 建设网站导航百度信息流推广和搜索推广
  • 深圳室内设计公司招聘信息流广告优化
  • 旅游网站首页四种营销模式
  • 负责网站建设如何在百度发广告推广
  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些