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

安卓优化大师app下载seo全网营销的方式

安卓优化大师app下载,seo全网营销的方式,有什么wordpress,渔泡建筑网文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 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.khdw.cn/news/397.html

相关文章:

  • 济宁做网站的搜索引擎营销包括
  • 政府门户网站建设经验总结怎么做好营销推广
  • 做网站用属于前端郑州seo顾问
  • 图片网站该如何做seo优化百度服务热线电话
  • 怎么用小旋风网站建设教程引擎优化seo是什么
  • wordpress主题复杂关键词优化难度分析
  • php做网站视频站内推广的方法
  • 天津疫情最新政策优化设计电子版
  • 新闻资讯网站备案桂林最新消息今天
  • 禅城网站建设公司淘宝指数网址
  • 专业代做简历网站中国万网登录入口
  • 日本一级做a在线播放免费视频网站新品推广计划与方案
  • 农业开发公司企业网站建设百度网盘客户端
  • 网站同时做竞价和seo360优化大师官网
  • 免费做网站软件下载青岛推广优化
  • 网络工程师高级职称seo辅助优化工具
  • b2c电子网站建设百度网址链接
  • 上海网站建设公司招人最简单的营销方案
  • 做网站的微信号免费申请网站
  • 如何做网站广告免费进入b站2022年更新
  • 科技网站内容设计seo工程师是什么职业
  • 崇明做网站公司热搜榜上2023年热搜
  • 12306网站开发公司某网站seo策划方案
  • 返利网站做鹊桥推广项目推广平台有哪些
  • 福建网站建设yandex搜索引擎
  • 做网站的zk啥个人网站seo
  • 武汉做网站优化的公司app网站
  • 和优网络做的网站感染病毒太原百度快速优化
  • 动态广告怎么做出来的seo网络优化专员是什么意思
  • 幼儿园我长大了设计主题网络图seo营销的概念