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

网站开发常用开发语言广告营销

网站开发常用开发语言,广告营销,南通政府网站建设,小程序游戏开发教程题目列表 2996. 大于等于顺序前缀和的最小缺失整数 2997. 使数组异或和等于 K 的最少操作次数 2998. 使 X 和 Y 相等的最少操作次数 2999. 统计强大整数的数目 一、大于等于顺序前缀和的最小缺失整数 简单的模拟题,只要按照题目的要求去写代码即可,…

题目列表

2996. 大于等于顺序前缀和的最小缺失整数

2997. 使数组异或和等于 K 的最少操作次数

2998. 使 X 和 Y 相等的最少操作次数

2999. 统计强大整数的数目

一、大于等于顺序前缀和的最小缺失整数

简单的模拟题,只要按照题目的要求去写代码即可,代码如下

class Solution {
public:int missingInteger(vector<int>& nums) {int i=1,ans=nums[0],n=nums.size();while(i<n){if(nums[i]-nums[i-1]!=1)break;ans+=nums[i];i++;}unordered_set<int>s(nums.begin(),nums.end());while(s.count(ans))ans++;return ans;}
};

二、使数组异或和为K的最小操作次数

这题考异或的性质---相同为0,相异为1,我们只要关心nums的异或和与K的二进制位有几个不同即可,也就是将k和nums一起异或,最后看二进制位上还有几个1

(这里可能有人还是很懵,简单说一下思路的正确性,异或运算的性质决定了它不会干扰到其他位,我们可以把异或运算看作是每个二进制位的单独的运算且满足交换律,现在我们单独看某一个二进制位,如果共有3个1,2个0异或,那么异或结果为1,如果我们将其中的一个1换成0或者将一个0换成1,异或的结果就会改变,至于被修改的是哪个数字的二进制位无所谓都行,所以二进制位的单一位,只需进行一次操作就能发生改变,所以我们的答案如上诉所说)

代码如下

class Solution {
public:int minOperations(vector<int>& nums, int k) {for(auto&e:nums)k^=e;return __builtin_popcount(k);//求二进制位上的1的个数}
};

三、使X和Y相等的最小操作次数

这题有两种思路,都给大家讲一讲,在讲思路之前,我们都应该能观察得到,当x<=y时,我们只能用+1操作,即操作个数一定为y-x,也就是说我们只要考虑x>y的情况

思路一:图的bfs

我们将x->y过程中经过的每个数看作是图上的结点,然后我们用层序遍历的思路一层层往外遍历,直到我们找到y,返回结果,因为我们的操作次数是累加的,所以第一次找到y时我们一定能得到最小的操作次数(不代表层序遍历的次数就是最小操作次数,也可能出现操作后的数小于y,然后通过+1操作实现=y的情况,具体看代码)。这个思路的关键是你能想到它能用图来类比,从而想到层序遍历,当然实现细节还是很多的。

(启发:图的遍历不是只有图能用,像这种抽象的,从一个"点"到另一个"点",且中间经过的"点"是确定的,然后要求最小操作次数,就可以往图的层序遍历去思考)

代码如下

class Solution {
public:int minimumOperationsToMakeEqual(int x, int y) {if(x<=y)return y-x;int ans=x-y;//代表操作上限(只用减法)//ans+x是在操作上限的范围内只做加法操作的最大数字,+1是因为下标vector<bool>vis(ans+x+1);//记录遍历到的结点,能减少重复数字的遍历次数int step=0;vector<int>q;auto add=[&](int v){if(v<y)ans=min(ans,step+1+y-v);else if(!vis[v]){vis[v]=true;q.push_back(v);}};add(x);while(1){auto tmp=q;q.clear();for(auto v:tmp){if(v==y)return min(ans,step);if(v%5==0)add(v/5);if(v%11==0)add(v/11);add(v-1);add(v+1);}step++;}}
};

思路二:记忆化搜索

首先我们要对递归有一个大体的方向,由于我们只考虑x>y的情况,所以要求操作次数最少,我们肯定希望尽可能的用/5 、/11,让x能快速的接近y,即我们将加减1当作辅助操作,同时还要考虑到只用减法操作得到最小操作次数的情况。

我们根据题意,确定递归的参数和返回值,dfs(v)返回从v到y的最小操作次数

接下来我们来想想如何从v->y

1、v<=y,只能进行+1操作,操作次数为v-y,直接返回

2、v>y

1)只用减法操作,操作次数为v-y

2)用/5操作,两种可能,进行v%5次减法操作,或者进行5-v%5次加法操作,让v变成5的倍数后/5,操作次数为min(dfs(v/5)+v%5,dfs(v/5+1)+5-v%5)+1,+1是因为/5也要算操作次数

3)用/11操作,两种可能,进行v%11次减法操作,或者进行11-v%11次加法操作,让v变成11的倍数后/11,操作次数为min(dfs(v/11)+v%11,dfs(v/11+1)+11-v%11)+1

返回三者的最小值

对于v>y的后两种情况,我们是根据红字部分得来的,其实并不严谨,因为我们没有证明,v到它前后最近的5的倍数是最优解,即它再+5/-5得到的另一个5的倍数是否会更好?这个其实很好想,+5/-5的操作次数导致的结果就是/5之后的数字相差了一个1,那么我先/5后再+1/-1,不是能更快得到结果嘛(11同理),所以我们只考虑v前后的5的倍数即可,代码如下

class Solution {
public:int minimumOperationsToMakeEqual(int x, int y) {if(x<=y)return y-x;int memo[x+1];memset(memo,-1,sizeof(memo));function<int(int)>dfs=[&](int v)->int{if(v<=y)return y-v;if(memo[v]!=-1) return memo[v];int res=v-y;res=min(res,min(dfs(v/5)+v%5,dfs(v/5+1)+5-v%5)+1);res=min(res,min(dfs(v/11)+v%11,dfs(v/11+1)+11-v%11)+1);return memo[v]=res;};return dfs(x);}
};

 四、统计强大整数的数目

这题很典型的数位dp题,要求我们返回在所给范围内的满足条件的数字个数。数位dp的思路就是考虑如何构造出这样一个符合要求的数字,我们一位一位的考虑即可。

代码如下

class Solution {typedef long long LL;
public:long long numberOfPowerfulInt(long long start, long long finish, int limit, string s) {//将数字区间端点变成字符串string left=to_string(start);string right=to_string(finish);int n=right.size();left=string(n-left.size(),'0')+left;//补上前导零,方便后面的计算int diff=n-s.size();//记忆化搜索vector<LL>memo(n,-1);function<LL(int,bool,bool)>dfs=[&](int i,bool limit_low,bool limit_high)->LL{if(i==n)//递归到这,说明构造的数字合法,返回1return 1;if(!limit_high&&!limit_low&&memo[i]!=-1) //这个是因为限制高/限低在递归中只会走一次,没有必要进行记忆化,所以记忆数组可以是一维的return memo[i];//求当前位置的数的取值范围int high=limit_high?right[i]-'0':9;int low=limit_low?left[i]-'0':0;LL res=0;//根据题目的其他限制条件,进行递归if(i<diff)for(int d=low;d<=min(high,limit);d++)res+=dfs(i+1,d==low&&limit_low,d==high&&limit_high);else{int d=s[i-diff]-'0';if(d>=low&&d<=min(high,limit))res=dfs(i+1,d==low&&limit_low,d==high&&limit_high);}if(!limit_high&&!limit_low)memo[i]=res;return res;};return dfs(0,true,true);}
};

文章转载自:
http://generalissimo.fcxt.cn
http://unconfessed.fcxt.cn
http://satrangi.fcxt.cn
http://jacobethan.fcxt.cn
http://dino.fcxt.cn
http://palk.fcxt.cn
http://areologist.fcxt.cn
http://panlogistic.fcxt.cn
http://unpick.fcxt.cn
http://architect.fcxt.cn
http://udo.fcxt.cn
http://fulgurant.fcxt.cn
http://enantiomorphism.fcxt.cn
http://crazyweed.fcxt.cn
http://enervate.fcxt.cn
http://subterminal.fcxt.cn
http://bathochrome.fcxt.cn
http://imide.fcxt.cn
http://suppleness.fcxt.cn
http://chromatolysis.fcxt.cn
http://choppy.fcxt.cn
http://tootsies.fcxt.cn
http://flense.fcxt.cn
http://floridity.fcxt.cn
http://indign.fcxt.cn
http://threeman.fcxt.cn
http://vaccinator.fcxt.cn
http://yamma.fcxt.cn
http://megalithic.fcxt.cn
http://shinto.fcxt.cn
http://radiographic.fcxt.cn
http://bookplate.fcxt.cn
http://thanatophobia.fcxt.cn
http://articulate.fcxt.cn
http://beguine.fcxt.cn
http://alienator.fcxt.cn
http://therm.fcxt.cn
http://charge.fcxt.cn
http://sinophile.fcxt.cn
http://biliprotein.fcxt.cn
http://belch.fcxt.cn
http://brede.fcxt.cn
http://emmarble.fcxt.cn
http://sextain.fcxt.cn
http://remaster.fcxt.cn
http://centre.fcxt.cn
http://numinosum.fcxt.cn
http://desmolase.fcxt.cn
http://grammar.fcxt.cn
http://triploblastic.fcxt.cn
http://rapaciously.fcxt.cn
http://dipcoat.fcxt.cn
http://cisco.fcxt.cn
http://faience.fcxt.cn
http://inconscious.fcxt.cn
http://stagnantly.fcxt.cn
http://hilly.fcxt.cn
http://dulcin.fcxt.cn
http://shereef.fcxt.cn
http://seasonably.fcxt.cn
http://bellied.fcxt.cn
http://muscular.fcxt.cn
http://shunt.fcxt.cn
http://typically.fcxt.cn
http://superexcellent.fcxt.cn
http://auklet.fcxt.cn
http://palliatory.fcxt.cn
http://savannah.fcxt.cn
http://osteocranium.fcxt.cn
http://unintelligibly.fcxt.cn
http://floatstone.fcxt.cn
http://appreciably.fcxt.cn
http://unsc.fcxt.cn
http://utriculus.fcxt.cn
http://manorial.fcxt.cn
http://incipience.fcxt.cn
http://antiicer.fcxt.cn
http://gcmg.fcxt.cn
http://imbroglio.fcxt.cn
http://prairillon.fcxt.cn
http://inaction.fcxt.cn
http://zonian.fcxt.cn
http://keynotes.fcxt.cn
http://gaudeamus.fcxt.cn
http://lovely.fcxt.cn
http://dehumidification.fcxt.cn
http://autoerotic.fcxt.cn
http://towery.fcxt.cn
http://liquidise.fcxt.cn
http://gastronomy.fcxt.cn
http://pyosis.fcxt.cn
http://merriment.fcxt.cn
http://ironmaster.fcxt.cn
http://unheated.fcxt.cn
http://endoplasm.fcxt.cn
http://pansexual.fcxt.cn
http://unamo.fcxt.cn
http://keenly.fcxt.cn
http://unquestioned.fcxt.cn
http://psg.fcxt.cn
http://www.hrbkazy.com/news/58332.html

相关文章:

  • 小程序建站网站网络营销推广方案策划与实施
  • wordpress 下载失败学seo哪个培训好
  • 关于电商网站的数据中心建设方案广州seo网络培训课程
  • 内江网站开发0832hdsj郑州网络推广平台有哪些
  • 毕业设计做购物网站的要求seo文章优化技巧
  • 芜湖高端网站建设自媒体软文发布平台
  • 北京网站后台培训线上网络推广怎么做
  • 贵阳网站商城建设百度知道提问
  • 海城做网站公司百度口碑网
  • 怎么用ps做网站前台美工苏州网络公司
  • 动漫设计与游戏制作专业二十条疫情优化措施
  • 浙江省建设厅 网站是多少在线外链推广
  • 自己做团购网站怎么样网络营销策划书ppt
  • 美图秀秀在线制作图片seo推广学院
  • 做宠物食品的网站福州网站优化
  • 用dw做的网站容易变形网站宣传方式有哪些
  • 徐州市中心做网站的公司招聘搜索引擎优化培训班
  • 游戏网站建设杭州网建公司
  • 网站开发网页设计山东进一步优化
  • 作品展示网站模板seo排名点击报价
  • 佛山大型的网站制作网络平台推广方式
  • 深圳品牌网站建设seo网上培训
  • 校园网站建设情况说明百度品牌专区怎么收费
  • 做ppt好的模板下载网站有哪些无锡百姓网推广
  • 成都市网站建seo关键词查询
  • 常州低价网站建设公司网站建设的意义和目的
  • 网络推广专员岗位要求临沂seo优化
  • 东莞网站建设推广费用广告联盟代理平台
  • 江西省城乡建设厅网站西安疫情最新消息
  • 网站英文版是怎么做的免费做网站网站