【精】LintCode领扣算法问题答案:1890. 形成最小数
发布日期:2021-06-30 17:13:41
浏览次数:2
分类:技术文章
本文共 994 字,大约阅读时间需要 3 分钟。
1890. 形成最小数:
给定一个仅包含I和D的模式串str。 I代表相邻项增加,D代表相邻项减少。 设计一种算法,返回符合该模式且字典序最小的字符串。字符串只包含1到9且不能重复。
- 1 <= |str| <= 8
样例 1:
输入: "D"输出: "21"解释: 2>1
样例 2:
输入: "II"输出: "123"解释: 1<2<3
样例 3
输入: "DIDI"输出: "21435"
样例 4
输入: "DDIDDIID"输出: "321654798"
文章目录
题解
public class Solution { /** * @param str: the pattern * @return: the minimum number */ public String formMinimumNumber(String str) { // Write your code here. int n = str.length(); char[] ans = new char[n + 1]; char[] cs = str.toCharArray(); for (int i = 0, index = 0; i <= n; ++i) { if (i == n || cs[i] == 'I') { for (int j = i; j >= index; --j) { ans[j] = (char) ('1' + index + i - j); } index = i + 1; } } return new String(ans); }}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
本文由博客原创,转载请注明来源,谢谢~
转载地址:https://le-yi.blog.csdn.net/article/details/115731571 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年05月04日 20时52分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
攻防世界web进阶PHP2详解
2019-04-30
如何解决词达人问题(新)
2019-04-30
攻防世界web进阶区surpersqli详解
2019-04-30
攻防世界web进阶区easytornado详解
2019-04-30
攻防世界web进阶区web2详解
2019-04-30
xss-labs详解(上)1-10
2019-04-30
xss-labs详解(下)11-20
2019-04-30
攻防世界web进阶区ics-05详解
2019-04-30
攻防世界web进阶区FlatScience详解
2019-04-30
攻防世界web进阶区ics-04详解
2019-04-30
攻防世界web进阶区Cat详解
2019-04-30
攻防世界web进阶区bug详解
2019-04-30
攻防世界web进阶区ics-07详解
2019-04-30
攻防世界web进阶区unfinish详解
2019-04-30
攻防世界web进阶区i-got-id-200超详解
2019-04-30
sql注入总结学习
2019-04-30
leetcode46 全排列
2019-04-30
leetcode121 买卖股票的最佳时机
2019-04-30
leetcode 122 买卖股票的最佳时机II
2019-04-30
leetcode 309 最佳买卖股票含冷冻期
2019-04-30