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

青海省教育厅门户网站首页品牌大全

青海省教育厅门户网站首页,品牌大全,网站做好后还需要维护吗,国内 虚拟主机1. 题目 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0c;重构排列 pe…

1. 题目

由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中:

  • 如果 perm[i] < perm[i + 1] ,那么 s[i] == 'I' 
  • 如果 perm[i] > perm[i + 1] ,那么 s[i] == 'D' 

给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。

2. 示例

3. 分析

这道题目的意思就是如果字符是 I ,则当前元素需小于后一个元素;若为 D ,则当前元素需大于后一个元素:

以下摘抄自 官方题解 :

考虑 perm[0] (返回数组) 的值,根据题意:

  • 如果 s[0] = 'I',那么令 perm[0] = 0,则无论 perm[1] 为何值都满足 perm[0] < perm[1];
  • 如果 s[0] = 'D',那么令 perm[0] = n,则无论 perm[1] 为何值都满足 perm[0] > perm[1];

确定好 perm[0] 后,剩余的 n−1 个字符和 n 个待确定的数就变成了一个和原问题相同,但规模为 n−1 的问题。因此我们可以继续按照上述方法确定 perm[1]:如果 s[1] = 'I',那么令 perm[1] 为剩余数字中的最小数;如果 s[1] = 'D',那么令 perm[1] 为剩余数字中的最大数。如此循环直至剩下一个数,填入 perm[n] 中。即 I 就放剩余数字中的最小数,D 就放剩余数字中的最大数。

我们可以定义两个指针,表示剩余待确定数字中的最小和最大值:

class Solution {
public:vector<int> diStringMatch(string s) {int n = s.size();vector<int> res(n+1);int min = 0, max = n;for(int i = 0; i < n; i++){if(s[i] == 'I') {res[i] = min;min++;}               else {res[i] = max;max--;}}res[n] = max; // 还剩最后一个数,此时 min == maxreturn res;}
};
http://www.yayakq.cn/news/834230/

相关文章:

  • 重庆市建设工程施工安全管理网站那个网站有免费的模板
  • 网站制作费用属于广告费吗phpcms 手机网站模板
  • 网站数据库如何备份东城区网站建设公司
  • 门户网站主要特点和功能免费ppt模板百度云资源
  • 松江 网站建设公司百度搜索风云榜官网
  • 启源网站建设软文推广范文
  • 山西省建设监理协会官方网站佛山企业网站建设电话
  • 网站设计技术大全网站建设开源代码
  • 鲁谷网站建设DW怎么做电商网站
  • wordpress 多站点插件个人网页制作模板下载
  • 科技公司网站建设php连接wordpress
  • 廊坊网站建设-商昊网络做自己的网站logo
  • 10个零网站建设wordpress配置邮件发送
  • 如何自己建网站京东商城网站
  • 上海网站关键排名如皋住房和城乡建设局网站
  • 制作公司网站 黑龙江河南省建设工程监理协会网站
  • 合肥定制网站建设阜阳市城乡建设 档案馆网站
  • 流量网站个人网页设计作品简单
  • 广州企业网站建设长春二道网站建设
  • 响应式布局网站实例怎么建立自己的网站?
  • 东营黄河口宠物信息网宁波seo网络推广代理价格
  • 怎么修改网站标题动漫制作专业大专院校
  • 邓砚谷电子商务网站建设郑州网站顾问
  • 做网站都要用到框架吗湖南seo网站策划
  • 热门的网站模板下载wordpress表格布局插件
  • 专做奢侈品的网站专业的网站制作正规公司
  • 个人网站一定要备案吗html博客转wordpress
  • 文档上传网站温州seo按天扣费
  • 荣成市城乡建设局网站网站为什么要icp备案
  • 南宁网站设计建设做的网站有营销效果吗