给定只含 "I"(增大)或 "D"(减小)的字符串 S,令 N = S.length

返回[0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1,都有:

如果 S[i] == "I",那么 A[i] < A[i+1]
如果 S[i] == "D",那么 A[i] > A[i+1]

示例1:
输出:“IDID”
输出:[0,4,1,3,2]

示例2:
输出:“III”
输出:[0,1,2,3]

示例3:
输出:“DDI”
输出:[3,2,0,1]

提示:

  1. 1 <= S.length <= 1000
  2. S 只包含字符 "I""D"
/*** @param {string} S* @return {number[]}*/
var diStringMatch = function(S) {};

个人解法

思路:减 从最大开始;增 从最小开始。

var diStringMatch = function(S) {var result = [];var arr = [];for(var i = 0; i <= S.length; i ++){arr.push(i);}for(var i = 0; i <= S.length; i ++){if(S[i] === 'I'){result.push(arr.shift());}else{result.push(arr.pop());}}return result;
};

★LeetCode(942)——增减字符串匹配(JavaScript)相关推荐

  1. LeetCode 942. 增减字符串匹配(DI String Match) 49

    942. 增减字符串匹配 942. DI String Match 题目描述 每日一算法2019/6/21Day 49LeetCode942. DI String Match Java 实现 and ...

  2. LeetCode 942. 增减字符串匹配

    1. 题目 给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length. 返回 [0, 1, -, N] 的任意排列 A 使得对于所 ...

  3. leecode练习--942、增减字符串匹配

    leecode练习--942.增减字符串匹配 题目要求: 1.给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length. 2.返回 ...

  4. LeetCode 10 Regular Expression Matching(字符串匹配)

    题目链接 https://leetcode.com/problems/regular-expression-matching/?tab=Description   '.' Matches any si ...

  5. 一招解决4道leetcode hard题,动态规划在字符串匹配问题中的应用

    全文共2869个字,6张图,预计阅读时间15分钟. 在做leetcode的时候,遇到hard题大家往往都觉得头疼,但其实,掌握方法,举一反三,hard题有时候我们也能想到好的思路,顺利攻破,今天我们就 ...

  6. leetcode:1408. 数组中的字符串匹配

    题目:1408. 数组中的字符串匹配 题目内容 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词.请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词. 如果你 ...

  7. javascript 学习并梳理正则表达式姿势之字符串匹配( 一)

    正则表达式字符串匹配相关 引:<JavaScript 正则表达式迷你书> 读老姚丨洞见生产者的<JavaScript 正则表达式迷你书>全是干货好书,通俗易懂,图文结合 正则是 ...

  8. LeetCode 5380. 数组中的字符串匹配

    5380. 数组中的字符串匹配 python 字符串长度排序 class Solution:def stringMatching(self, words: List[str]) -> List[ ...

  9. JavaScript正则——字符串匹配正则的方法

    一.字符串匹配正则方法 语法:字符串.方法名称 1>search (类似于indexOf) 如果匹配,返回下标位置 如果不匹配,返回-1 查找a的下标位置 注: ①下标从0开始数: ②空格也需要 ...

最新文章

  1. BZOJ3808 : Neerc2012 Labyrinth of the Minotaur
  2. yytextview多种格式_Android 一个TextView字体设置多种不同颜色
  3. Exchange server 2013 安装部署初体验
  4. boost::hana::max用法的测试程序
  5. CodeForces - 1076D Edge Deletion(最短路+贪心/最短路树+bfs)
  6. jquery插件编写
  7. java获取keyvault_ARM Template 结合key vault存储机密信息 (一)
  8. 案例 github_2019年12月Github上最热门的Java开源项目,速来围观!
  9. Araxis Merge for Mac(可视化文件比较合并工具)支持m1
  10. super-smack
  11. FCPX插件 画笔记号标注工具 Pixel Film Studios PROPEN v1.0.3激活版
  12. 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?
  13. java生成pdf旋转_Java 添加、删除、旋转PDF页面
  14. js获取时分秒数据格式为YYYMMDDHHmm方法
  15. java实现阿里云邮箱发送邮件
  16. 你可还曾听闻“网络歌手”这样的声音?
  17. 如何检查Mac配备的显卡(GPU)?
  18. OpenStack OVS GRE/VXLAN网络
  19. group by 使用规则
  20. scip指令集_明年1月实施!ECHA对输欧物品提出SCIP通报要求

热门文章

  1. 搭建golang+vscode开发环境
  2. vim的简单使用及配置
  3. 关于 stl的内存分配的深浅拷贝
  4. 监控zabbix 服务并在异常时python 邮件报警
  5. hadoop 权威指南学习笔记ing(1)
  6. Android应用程序线程消息循环模型分析(5)
  7. java文件写入_java怎么写入文件
  8. 原有磁盘上创建lvm_lt;Linuxgt; LVM 原理及应用
  9. python跨域攻击教学_关于python 跨域处理方式详解
  10. 博客园php教程,PHP仿博客园,个人博客(1)_PHP教程