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

甘肃建设厅网站二级建造师报名时间滨州新闻头条最新消息

甘肃建设厅网站二级建造师报名时间,滨州新闻头条最新消息,免费logo设计在线生成器钙网,黄骅做网站价格3516. 找到最近的人 题目链接:3516. 找到最近的人 题目解析: 找到最近的人,z是不动的,我们需要知道,x 到 z 的距离和 y 到 z 的距离,又因为 x 和 y 的移动速度相同,所以,谁离 z 越近…

3516. 找到最近的人

题目链接:3516. 找到最近的人

QQ_1744527964304

题目解析:

找到最近的人,z是不动的,我们需要知道,x 到 z 的距离和 y 到 z 的距离,又因为 x 和 y 的移动速度相同,所以,谁离 z 越近,越先到达 z 位置,

  • x 到 z 的距离:abs(x-z)

  • y 到 z 的距离:abs(y-z)

x 先到达,返回 1,y 先到达,返回 2,同时到达,返回 0

解法一:计算距离

class Solution {
public:int findClosest(int x, int y, int z) {int a = abs(x - z), b = abs(y - z);return a < b ? 1 : (a == b ? 0 : 2);}
};

3517. 最小回文排列 I

题目链接:3517. 最小回文排列 I

QQ_1744528364797

题目解析:

一个回文字符串 s,返回 s 的按字典序排列的最小回文序列,要求 s 首先是回文序列,再排序,这样,我们只需排列 s 的前半部分就可以了。

  • 注意,这里的mid表示的是下标,不是长度

  • 找到 s 的中点mid,如果 s 是奇数序列,mid是中点,如果是偶数序列,mid是偏右的中点

  • 排列前半部分字符串,也就是[0,mid),这样前半部分字符串就有序了,如果是奇数,则加上中间的字符s[mid],如果是偶数,则不用加

  • 把前半部分字符串反转一下就是后半部分字符串,然后把两个字符串拼接一下,就得到了 最小 回文排列。

解法一:排序前半部分+反转

class Solution {
public:string smallestPalindrome(string s) {int n = s.size();if (n == 1)return s;int mid = n / 2;string tmp = s.substr(0, mid);sort(tmp.begin(), tmp.end());string ret = tmp;if (n & 1)ret += s[mid];reverse(tmp.begin(), tmp.end());ret += tmp;return ret;}
};

3518. 最小回文排列 II

题目链接:3518. 最小回文排列 II

QQ_1744533486087

题目解析:

解法一:试填法+组合数学

class Solution {
public:string smallestPalindrome(string s, int k) {int n=s.size();int m=n/2;//统计前半部分字符出现的频率vector<int> cnt(26,0);for(int i=0;i<m;i++){cnt[s[i]-'a']++;}//C(n,m)auto comb = [&](int n, int m) -> int {m=min(m,n-m);long long res=1;for(int i=1;i<=m;i++){res=res*(n-i+1)/i;if(res>=k)  return k;//满足条件了,可以提前退出,减少计算}return res;};//统计sz个位置中有多少种排列auto perm = [&](int sz) -> int {long long res=1;//从cnt中挑选字符for(int i=0;i<26;i++){if(cnt[i]==0) continue;res*=comb(sz,cnt[i]);if(res>=k) return k;//满足条件了,可以提前退出,减少计算//更新字符串中的空位置sz-=cnt[i];}return res;};//k太大了if(perm(m)<k) return "";
​//构建左半边字符串string tmp(m,0);for(int i=0;i<m;i++){for(int j=0;j<26;j++){if(cnt[j]==0) continue;//把当前字符填入字符串中cnt[j]--;//计算剩下的排列//m-i-1表示,从下标m位置,到下标i位置,之间的长度,都是左开右开(i,m);int p=perm(m-i-1);//剩下的排列大于等于K,说明该字符可以填if(p>=k){tmp[i]='a'+j;//细节,填充的是字符,不是该字符出现的频率break;}//说明该位置不可以填,填更大的字符k-=p;cnt[j]++;}}//构建整体字符串string ret=tmp;if(n&1) ret+=s[n/2];reverse(tmp.begin(),tmp.end());ret+=tmp;return ret;}
};


文章转载自:

http://tjcSsDSN.crqbt.cn
http://Jgco9w0h.crqbt.cn
http://d42D6pp3.crqbt.cn
http://HgxvXqk6.crqbt.cn
http://pIohJKFe.crqbt.cn
http://iUr4c8Mw.crqbt.cn
http://f5QOWWX6.crqbt.cn
http://uzr1x20q.crqbt.cn
http://1hMon61L.crqbt.cn
http://ieQws0Bm.crqbt.cn
http://bd7xpsLx.crqbt.cn
http://avpWxFsA.crqbt.cn
http://pGqkZox0.crqbt.cn
http://7sEXdtjW.crqbt.cn
http://eFWSABJv.crqbt.cn
http://WMH5RoV6.crqbt.cn
http://TPs1m5W5.crqbt.cn
http://3ts69NS0.crqbt.cn
http://IzAAxM5a.crqbt.cn
http://Njio9vNG.crqbt.cn
http://4If1OGcr.crqbt.cn
http://KddmJtRW.crqbt.cn
http://cfEFLYDG.crqbt.cn
http://QEBqMGrL.crqbt.cn
http://B4UUPf0v.crqbt.cn
http://obo9rk9W.crqbt.cn
http://NvpvF4Xv.crqbt.cn
http://cDpl1mXa.crqbt.cn
http://S4FH44Gt.crqbt.cn
http://l6kGEcsk.crqbt.cn
http://www.dtcms.com/wzjs/654885.html

相关文章:

  • 西安 做网站免费自己制作app手机软件
  • 网站 图片 自动往右移表单网站怎么做seo
  • 企业做网站需要在通管局备案三明网站seo
  • 东莞网站快速优化排名高性能网站开发 书籍
  • 造作网站开发服务器网站域名系统装置
  • 宁夏建设工程质量安全监督总网站站长查询站长工具
  • 微信门户网站开发做注册会计师网站
  • 用什么制作网站wordpress访问加密
  • 自己可以做视频网站吗杭州余杭区抖音seo质量高
  • 做网站设计比较好的公司在谷歌上做外贸网站有用吗
  • 网站的英文版怎么做的企业工商信息查询接口
  • 搜狗推广做网站要钱吗手机电视网站大全
  • 网站留言板的作用网站项目建设策划书流程
  • 官方网站撰写策划书zhon中国建设会计学会网站
  • 成都网站模板购买网站结构形式
  • 做商城网站要什么证件什么公司做网站
  • 网站开发需要投入多少时间惠州市建筑信息平台
  • 网站建设骗子台州智能模板建站
  • 优秀网站大全重庆建设工程信息网外地入渝施工企业系统
  • 成都网络推广建站网站内做链接
  • 做蔬菜线上的网站蚌埠注册公司
  • 网站建设套餐128000中国免费素材网
  • 企业网站建设应该注意什么事项问题网店推广教材
  • 佛山专业建设网站平台2022年热点新闻事件
  • 梁山专做网站的公司wordpress用代码写页面模板
  • 贵阳做网站电话免费网站整站模板源码
  • 女性时尚网站模板广州建设厅网站首页
  • 怎么开一个做网站的工作室wordpress插件排列
  • 品牌网站制作流程免费作图网站
  • 学院网站建设成果网站开发w亿玛酷1流量订制