Files
2020-08-07 17:06:53 +08:00

49 lines
1.2 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# [942. DI String Match](https://leetcode.com/problems/di-string-match/)
## 题目
Given a string `S` that **only** contains "I" (increase) or "D" (decrease), let `N = S.length`.
Return **any** permutation `A` of `[0, 1, ..., N]` such that for all `i = 0, ..., N-1`:
- If `S[i] == "I"`, then `A[i] < A[i+1]`
- If `S[i] == "D"`, then `A[i] > A[i+1]`
**Example 1:**
Input: "IDID"
Output: [0,4,1,3,2]
**Example 2:**
Input: "III"
Output: [0,1,2,3]
**Example 3:**
Input: "DDI"
Output: [3,2,0,1]
**Note:**
1. `1 <= S.length <= 10000`
2. `S` only contains characters `"I"` or `"D"`.
## 题目大意
给定只含 "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]
## 解题思路
- 给出一个字符串,字符串中只有字符 `"I"` 和字符 `"D"`。字符 `"I"` 代表 `A[i] < A[i+1]`,字符 `"D"` 代表 `A[i] > A[i+1]` ,要求找到满足条件的任意组合。
- 这一题也是水题,取出字符串长度即是最大数的数值,然后按照题意一次排出最终数组即可。