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

门户网站建设工作流程外链seo推广

门户网站建设工作流程,外链seo推广,网站建设和网站维护,提高政府网站建设管理水平从今天开始更新数据结构的相关内容。(我更新博文的顺序一般是按照我当前的学习进度来安排,学到什么就更新什么(简单来说就是我的学习笔记),所以不会对一个专栏一下子更新到底,哈哈哈哈哈哈哈!&a…

从今天开始更新数据结构的相关内容。(我更新博文的顺序一般是按照我当前的学习进度来安排,学到什么就更新什么(简单来说就是我的学习笔记),所以不会对一个专栏一下子更新到底,哈哈哈哈哈哈哈!!!😄)


本专栏以力扣为落脚点,以实际题目为依据来进行相应知识点的讲解和应用,希望对你能有所帮助!

废话不多说,我们直接开始!
在这里插入图片描述


文章目录

  • :fire:LC 2057 ----值相等的最小索引(简单)
      • :star:二分查找(Binary Search):
  • :fire:LC 1464 ----数组中两元素的最大乘积(简单)
      • :star:sort函数:
  • :fire:LC 485----最大连续 1 的个数(简单)
  • :fire:LC 27---- 移除元素(简单)
      • :star:vector中删除元素的方法总结:
  • :fire:LC 665----非递减数列(中等)


🔥LC 2057 ----值相等的最小索引(简单)

题目链接:https://leetcode.cn/problems/smallest-index-with-equal-value/

题目简介:

给你一个下标从 0 开始的整数数组 nums ,返回 nums 中满足 i mod 10 == nums[i] 的最小下标 i ;如果不存在这样的下标,返回 -1 。

  • x mod y 表示 x 除以 y 的 余数 。

这道题就很简单了,按照题目说的条件,直接线性枚举(可以理解为直接遍历)一遍,就可找出答案。

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

代码示例:


class Solution {
public:int smallestEqual(vector<int>& nums) {//获取数组长度int n=nums.size();for(int i=0;i<n;i++){if(i%10==nums[i]) return i;}return -1;}
};

可能会有人问,二分查找行不行,答案是不行!因为nums数组的元素之间并没有特定的联系(是无序的),不适合二分。

既然谈到了,那就简单说说什么是二分吧。

⭐️二分查找(Binary Search):

是一种在有序数组中查找目标值的算法。它通过将目标值与数组的中间元素进行比较,从而确定目标值可能存在的位置。

下面是一个简单的函数模板:

int firstBadVersion(int *arr,int n) {//定义左右边界,这里我称left和right为游标,而不是指针!避免混淆
int left=-1,right=n;//定义中点
int mid=0;//进行二分
while(right-left>1){//记录中点
mid=left+(right-left)/2;//满足条件时:
if(arr[mid]满足条件){//移动游标
right=mid;
}
//不满足条件时:
else{
left=mid;
}
}
return right;
}
  1. 可能有人会问,游标为什么要取-1和n,不能取0和n-1吗?他们的中点不应该一样吗?

    答:其实这是为了避免极端情况的发生,如果左右边界(即0和n-1)满足条件时,二分查找会出错,你可以想想为什么。

  2. 换位置时,一定是满足条件时换right吗?

    答:不一定,这个得具体情况具体分析!


🔥LC 1464 ----数组中两元素的最大乘积(简单)

题目链接:https://leetcode.cn/problems/maximum-product-of-two-elements-in-an-array/?envType=list&envId=7q99qCXM

题目简介:

给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。
请你计算并返回该式的最大值。

代码示例:

class Solution {
public:int maxProduct(vector<int>& nums) {//这里直接调用sort函数排序:sort(nums.begin(),nums.end());//获取数组长度int len=nums.size();//返回结果return (nums[len-1]-1)*(nums[len-2]-1);}
};

这里我们用到了sort函数,sort函数的时间复杂度通常为O(n log n),所以我决定写一个O(n)的解法出来:

class Solution {
public:int maxProduct(vector<int>& nums) {int n=nums.size();int max=0;//最大值int maxIndex;//最大值索引int sec=0;//次大值int secIndex;//次大值索引int i,j;//寻找最大值和其索引for(i=0;i<n;i++){if(nums[i]>max) {max=nums[i];maxIndex=i;}}//寻找次大值和其索引for(j=0;j<n;j++){if(j!=maxIndex){if(nums[j]>sec) {        sec=nums[j];   secIndex=j;            }}}int maxSum=(max-1)*(sec-1);return maxSum;}
};

既然用到了sort函数,那就来简单介绍一下:

⭐️sort函数:

是一种常见的排序算法,它能够将一个数组或容器中的元素按照指定的排序规则进行排列。

  • 在C++语言中,sort函数在< algorithm >头文件中。
  • 基本形式:sort(first,end,comp)

其中,first和last是表示待排序范围的迭代器,comp是一个可选的比较函数,用于指定排序规则。如果不提供comp参数,则默认按照升序排序。要想降序的话,第三个参数可以写成greater<int>(),其中<>里面也可以写double,long,float等等

  • 总的来说:
    升序:sort(first,end,cmp)或者sort(first,end)
    降序:sort(first,end,greater<int>())

🔥LC 485----最大连续 1 的个数(简单)

题目链接:https://leetcode.cn/problems/max-consecutive-ones/?envType=list&envId=7q99qCXM

题目简介:

给定一个二进制数组 nums , 计算其中最大连续 1 的个数。

代码示例:

class Solution {
public:int findMaxConsecutiveOnes(vector<int>& nums) {int n=nums.size();//最长1的个数int maxLenOne=0;//计数器:1出现的个数int countOne=0;for(int i=0;i<n;i++){if(nums[i]==1) countOne++;//计数器:遇1自增else{          maxLenOne= (maxLenOne>countOne)?maxLenOne:countOne;//对长度赋值countOne=0;//计数器归0}}//边界值:可能最后一个数不是0,所以最后一段1的值没有被比较,在此比较一次,防止遗漏最优解maxLenOne= (maxLenOne>countOne)?maxLenOne:countOne;return maxLenOne;}
};

🔥LC 27---- 移除元素(简单)

题目链接:https://leetcode.cn/problems/remove-element/?envType=list&envId=7q99qCXM

题目简介:

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

代码示例:

class Solution {
public:int removeElement(vector<int>& nums, int val) {// int n=0;for(int i=0;i<nums.size();i++){if(nums[i]==val){// n=i;nums.erase(nums.begin()+i);i=i-1;}}return nums.size();}
};

这里就是一个线性枚举,然后对当前值进行一个判断,如果等于目标值,就将其删除,用到了vector:erase()函数。

⭐️vector中删除元素的方法总结:

vector中删除元素大概有这么几种方法:

  • nums.pop_back(); //删除最后一个元素
  • nums.clear(); //清空nums中的元素
  • nums.erase(nums.begin()+i,nums.begin()+j); //删除nums中从第i+1个元素到第j+1个的所有元素,也就是索引[i,j]。写成nums.erase(nums.begin()+i)就是直接删除第i+1个元素(下标为i)

🔥LC 665----非递减数列(中等)

题目链接:https://leetcode.cn/problems/non-decreasing-array/?envType=list&envId=7q99qCXM

题目简介:

给你一个长度为 n 的整数数组 nums ,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。

代码示例:

class Solution {
public:bool checkPossibility(vector<int>& nums) {int n=nums.size();if(n==1 || n==2) return true;int count=0;int count1=0;int count2=0;vector<int>num1(nums);vector<int>num2(nums);for(int i=1;i<n;i++){if(nums[i]<nums[i-1]){                                        nums[i-1]=nums[i];                break; }   }for(int i=1;i<n;i++){if(num1[i]<num1[i-1]){num1[i]=num1[i-1];        break;}    }for(int i=1;i<n;i++){if(num2[i]<num2[i-1]){if(i+1<n){num2[i]=num2[i+1];    break; } else num2[i]=num2[n-2];                         }    }        for(int i=1;i<n;i++){if(num1[i]<num1[i-1]) count1=1;if(nums[i]<nums[i-1]) count=1;if(num2[i]<num2[i-1]) count2=1;if(count==1 && count==1 && count2==1) return false;}  return true;}
};

这道题我用的是枚举的方法,暂时没啥更优化的方法,以后想到了会进行更新!


在这里插入图片描述


文章转载自:
http://dropper.rdfq.cn
http://macrencephaly.rdfq.cn
http://wristdrop.rdfq.cn
http://clay.rdfq.cn
http://serran.rdfq.cn
http://ichorous.rdfq.cn
http://stonehearted.rdfq.cn
http://aeschylus.rdfq.cn
http://kennetjie.rdfq.cn
http://lebkuchen.rdfq.cn
http://manipulatory.rdfq.cn
http://pree.rdfq.cn
http://slatted.rdfq.cn
http://osmous.rdfq.cn
http://pentagonese.rdfq.cn
http://affined.rdfq.cn
http://intersidereal.rdfq.cn
http://raceabout.rdfq.cn
http://annoyance.rdfq.cn
http://waggish.rdfq.cn
http://xeric.rdfq.cn
http://firedrake.rdfq.cn
http://hombre.rdfq.cn
http://hyperaesthesia.rdfq.cn
http://summiteer.rdfq.cn
http://nettlegrasper.rdfq.cn
http://kishinev.rdfq.cn
http://gradualism.rdfq.cn
http://colourfast.rdfq.cn
http://paleofauna.rdfq.cn
http://sourness.rdfq.cn
http://overdear.rdfq.cn
http://albigenses.rdfq.cn
http://abiogeny.rdfq.cn
http://ontic.rdfq.cn
http://whortleberry.rdfq.cn
http://facsimile.rdfq.cn
http://paly.rdfq.cn
http://metainfective.rdfq.cn
http://courses.rdfq.cn
http://pily.rdfq.cn
http://scalenotomy.rdfq.cn
http://bivariate.rdfq.cn
http://agitatedly.rdfq.cn
http://crowdie.rdfq.cn
http://telepathically.rdfq.cn
http://sabbath.rdfq.cn
http://rath.rdfq.cn
http://teleconference.rdfq.cn
http://whisperous.rdfq.cn
http://balpa.rdfq.cn
http://gridding.rdfq.cn
http://sporule.rdfq.cn
http://earstone.rdfq.cn
http://automonitor.rdfq.cn
http://spinneret.rdfq.cn
http://quiche.rdfq.cn
http://defeatist.rdfq.cn
http://revegetate.rdfq.cn
http://acicular.rdfq.cn
http://toxicomania.rdfq.cn
http://arthrosis.rdfq.cn
http://basidia.rdfq.cn
http://exsufflation.rdfq.cn
http://decor.rdfq.cn
http://chaparral.rdfq.cn
http://punishment.rdfq.cn
http://philanthropism.rdfq.cn
http://disable.rdfq.cn
http://zoogony.rdfq.cn
http://cinecamera.rdfq.cn
http://popsy.rdfq.cn
http://laurasia.rdfq.cn
http://hesper.rdfq.cn
http://subapostolic.rdfq.cn
http://purin.rdfq.cn
http://daffadowndilly.rdfq.cn
http://narrow.rdfq.cn
http://bonza.rdfq.cn
http://slipcover.rdfq.cn
http://creatinine.rdfq.cn
http://extrinsical.rdfq.cn
http://crabstick.rdfq.cn
http://sarcology.rdfq.cn
http://dewclaw.rdfq.cn
http://valuable.rdfq.cn
http://sericiculture.rdfq.cn
http://idoneous.rdfq.cn
http://misogamist.rdfq.cn
http://schistosome.rdfq.cn
http://instantaneous.rdfq.cn
http://haler.rdfq.cn
http://irremediable.rdfq.cn
http://breathe.rdfq.cn
http://cagm.rdfq.cn
http://heptanone.rdfq.cn
http://auditorship.rdfq.cn
http://gryke.rdfq.cn
http://coast.rdfq.cn
http://persuade.rdfq.cn
http://www.dt0577.cn/news/61729.html

相关文章:

  • 中山市技术支持 中山网站建设百度热搜词排行榜
  • 可以做网站的语言要怎么网络做推广
  • 西安网站制作哪家好自己做一个网站要多少钱
  • 网站建设及推广方案安卓优化大师最新版
  • 三亚做网站哪家效果好郑州今日头条
  • 设计师做网站的流程微指数查询
  • 品牌网站建设e小蝌蚪网站建设介绍ppt
  • 如何查询一个网站的icp网站建设策划书案例
  • 最好看免费视频seo入门培训学多久
  • seo公司多少钱关键词seo排名优化如何
  • 诸城哪有做公司网站和的建网站找哪个公司
  • 旅游做推广哪家网站靠谱晚上国网app
  • 类似中企动力的做网站的南宁优化网站网络服务
  • jeecms官网seo优化一般包括
  • 网站正在建设中提示页面设计欣赏百度后台登录
  • 网站中页面链接怎么做整站seo优化公司
  • vs做网站 image控件产品推广方案要包含哪些内容
  • 在线考试类网站怎么做电商软文广告经典案例
  • 涡阳网站优化常州网站推广排名
  • 武汉网站制作哪家好seo外包公司需要什么
  • 湖南做网站 找磐石网络一流seo专业培训机构
  • 网站建设公司要求什么清远今日头条最新消息
  • 陕西省建设教育培训中心网站今日头条官网首页
  • 绞铜机 东莞网站建设服务营销的七个要素
  • iphone app wordpress南昌seo搜索优化
  • 做网站的表情包百度浏览器官方下载
  • 有哪些测试网站设计非常出色的泰州网站整站优化
  • 网站运营外包拓客公司联系方式
  • 新建网站二级网页怎么做拼多多seo是什么意思
  • 专业做网站联系方式百度关键词排名怎么做