leetcode15,leetcode942. DI String Match

 2023-10-21 阅读 32 评论 0

摘要:題目鏈接 這是一道Easy題目 題目給定只含 “I”(增大)或 “D”(減小)的字符串 S ,令 N = S.length。 返回 [0, 1, …, N] 的任意排列 A 使得對于所有 i = 0, …, N-1,都有: 如果 S[i] == “I”,那么

題目鏈接
這是一道Easy題目
題目給定只含 “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]
思路: 找找規律會發現,第一個出現I 就寫最小的數,第二個出現I就寫倒數第二小的數,第一個出現D 就寫最大的數,第二個出現D就寫第二大的數,以此類推。

class Solution {public int[] diStringMatch(String S) {int len = S.length();int ans[] = new int[len + 1];int max = len;int min = 0;for(int i = 0; i < len; i++){if(S.charAt(i) == 'I'){ans[i] = min;min++;}else{ans[i] = max;max--;}}ans[len] = max;return ans;}
}

leetcode15。在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/153855.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息