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

自建网站备案通过后怎么做郑州seo网站关键词优化

自建网站备案通过后怎么做,郑州seo网站关键词优化,新品发布会致辞稿,成都十大营销策划公司文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 n u m s nums nums 。每一次操作中,你可以将 n u m s nums nums 中 任意 一个元素替换成 任意 整数。 如果 n u m s nums nums 满足以下条件&…

文章目录

  • 题目
  • 思路
  • 代码
  • 复杂度分析
    • 时间复杂度
    • 空间复杂度
  • 结果
  • 总结

题目

题目链接🔗
给你一个整数数组 n u m s nums nums 。每一次操作中,你可以将 n u m s nums nums任意 一个元素替换成 任意 整数。

如果 n u m s nums nums 满足以下条件,那么它是 连续的

n u m s nums nums 中所有元素都是 互不相同 的。
n u m s nums nums最大 元素与 最小 元素的差等于 n u m s . l e n g t h − 1 nums.length - 1 nums.length1
比方说, n u m s = [ 4 , 2 , 5 , 3 ] nums = [4, 2, 5, 3] nums=[4,2,5,3]连续的 ,但是 n u m s = [ 1 , 2 , 3 , 5 , 6 ] nums = [1, 2, 3, 5, 6] nums=[1,2,3,5,6] 不是连续的

请你返回使 nums 连续 的 最少 操作次数。

示例 1
输入:nums = [4,2,5,3]
输出:0
解释:nums 已经是连续的了。

示例 2
输入:nums = [1,2,3,5,6]
输出:1
解释:一个可能的解是将最后一个元素变为 4 。
结果数组为 [1,2,3,5,4] ,是连续数组。

示例 3
输入:nums = [1,10,100,1000]
输出:3
解释:一个可能的解是:

  • 将第二个元素变为 2 。
  • 将第三个元素变为 3 。
  • 将第四个元素变为 4 。

结果数组为 [1,2,3,4] ,是连续数组。

提示:

  • 1 ≤ n u m s . l e n g t h ≤ 1 0 5 1 \leq nums.length \leq 10^5 1nums.length105
  • 1 ≤ n u m s [ i ] ≤ 1 0 9 1 \leq nums[i] \leq 10^9 1nums[i]109

思路

  1. 对数组进行排序,这样相邻的元素就可以保证是连续的。然后去除重复元素,确保数组中的元素互不相同。对于数组中的每个元素 n u m s [ i ] nums[i] nums[i],我们需要找到满足条件的最大元素 n u m s [ j ] nums[j] nums[j],使得 n u m s [ j ] − n u m s [ i ] = n u m s . s i z e ( ) − 1 nums[j] - nums[i] = nums.size() - 1 nums[j]nums[i]=nums.size()1
  2. 使用二分查找来寻找满足条件的最大元素。具体地,可以遍历数组中的每个元素 n u m s [ i ] nums[i] nums[i],然后使用二分查找找到最大值不超过 n u m s [ i ] + n u m s . s i z e ( ) − 1 nums[i] + nums.size() - 1 nums[i]+nums.size()1 的元素,即 n u m s [ j ] ≤ n u m s [ i ] + n u m s . s i z e ( ) − 1 nums[j] \leq nums[i] + nums.size() - 1 nums[j]nums[i]+nums.size()1
  3. 对于每个元素 n u m s [ i ] nums[i] nums[i],可以计算需要的操作次数为 n u m s . s i z e ( ) − ( j − i + 1 ) nums.size() - (j - i + 1) nums.size()(ji+1),其中 j j j 是满足条件的最大元素的下标。

代码

class Solution {
public:int minOperations(vector<int>& nums) {ranges::sort(nums);int n = nums.size();nums.resize(unique(nums.begin(), nums.end()) - nums.begin());int m = nums.size();int res = INT_MAX;for(int i = 0; i < m; i++) {int x = nums[i];int y = x + n - 1;int l = i, r = m - 1;while(l < r) {int mid = (l + r + 1) / 2;if(nums[mid] > y) r = mid - 1;else l = mid;}res = min(res, n - (l - i + 1));} return res;}
};

复杂度分析

时间复杂度

O ( n log ⁡ n ) O(n \log n) O(nlogn)

空间复杂度

O ( 1 ) O(1) O(1)

结果

在这里插入图片描述

总结

关键在于如何通过排序和遍历找到满足条件的最小操作次数。我们通过排序数组并去除重复元素,然后对每个元素进行遍历,通过二分查找找到最大值不超过 y y y 的元素,并计算需要的操作次数,最后选择操作次数最小的那个作为结果。

http://www.tj-hxxt.cn/news/75792.html

相关文章:

  • 西安企业建站公司百度知道登录入口
  • 国内优秀网站头条今日头条新闻头条
  • 莱芜生活网seo咨询师
  • 莘县做网站成都网站优化
  • 深圳珠宝网站建设分析报告关闭站长工具seo综合查询
  • 广西新宇建设项目有限公司网站10种营销方法
  • 网站排名优化建设东莞网站seo公司
  • 石家庄定制网站建设友链交易平台源码
  • 专门做电子书的网站有哪些推广方案应该有哪些方面
  • 英文b2b网站制作沧州网站建设推广
  • 公司网站建设 目录seo收费标准多少
  • 空气能空调如何做网站seo关键词优化案例
  • 河南做网站windows优化大师破解版
  • 手机网站制作吧外包网络推广营销
  • 互联网网站制作十大短视频平台排行榜
  • 网站域名绑定ip设计网站免费素材
  • 商务网站建设与维护俄罗斯引擎搜索
  • 网站开发和软件高级搜索引擎
  • 宝安高端网站建设网络seo哈尔滨
  • 网站常用图标素材整站优化网站
  • wordpress 封装 app站长之家seo信息
  • 利用淘宝联盟做网站赚取佣金黄冈网站推广软件免费下载
  • java和php做网站谁好google推广一年的费用
  • 东莞多语言网站建设品牌推广工作内容
  • 邻水建设局网站深圳网络推广建站
  • 皮具 东莞网站建设网站建设加推广优化
  • 阿里云做网站教程网站推广公司排名
  • h5做网站用什么软件百度网站安全检测
  • 建设工程安全A证在哪个网站可查seo平台优化
  • 淄博做网站公司有哪些如何做好网站站内优化