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

自建网站备案通过后怎么做如何搭建网站

自建网站备案通过后怎么做,如何搭建网站,网络运营商官网,web网页设计创意课书籍文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 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.mmbaike.com/news/86736.html

相关文章:

  • 企业公司网站模板下载嘉兴网站建设制作
  • 湖北联兴建设有限公司网站bt磁力库
  • 落实二十条优化措施武汉seo搜索引擎
  • 公司网站如何做水印网络营销文案策划
  • easyui 网站开发实现aso应用商店优化原因
  • 国内b2c网站什么是全网营销推广
  • 做爰网站上海百度推广电话客服
  • 贵港有网站建设的公司吗专业做加盟推广的公司
  • 《php网站开发实例教程》西安seo服务公司排名
  • 做算法题的 网站免费做做网站
  • 中国行业网站大全国内最新十大新闻
  • 凡科建站做网站需要几天被忽悠去做网销了
  • 做网站公司法人还要拍照吗免费顶级域名注册网站
  • 十大web网站漏洞扫描工具爱站网 关键词挖掘工具站
  • 如何用ai给网站做logo网站优化排名易下拉排名
  • 17网站一起做网店登录seo排名赚app多久了
  • 个人备案域名可以做企业网站吗windows优化大师免费版
  • 做微商网站需要哪些苏州搜索引擎排名优化商家
  • 网站空间ip地址项目推广计划书
  • 如何做公证网站网页发布时间百度云电脑版网站入口
  • 网站建设推广人员北京疫情太严重了
  • 网站设计论文总结关键词营销推广
  • 去什么网站做推广地推推广平台
  • 平台网站模板素材全球网络营销公司排行榜
  • 内网穿透做网站能查到网站ip吗淘宝的17种免费推广方法
  • 电商网站建设c微fzsszai百度一下百度下载
  • 网站不备案什么意思搜索百度app下载
  • 网站建设解决方案湖南网络营销外包
  • 怎么查看网站是哪个公司做的万能bt搜索引擎
  • wordpress七牛远程图片合肥seo排名优化公司