增減字串匹配 java實現

2021-09-19 08:34:29 字數 692 閱讀 2785

1.題目描述:給定只含 「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]

2.分析:』『i』』,』『d』』 可以看做對應的數的增減趨勢,』『i』'表示下乙個數會增,則我們把最小的數安排好,則下乙個數必增,若還是"i",則把倒數第二小的數安排上,下乙個數必增,符合"i"的趨勢,以此類推,「d"同理。最後"i」,"j"指向同乙個數。

3.**如下:

class solution {

public int distringmatch(string s) {

int a = new int [s.length()+1];

int i=0;

int j=s.length();

for(int k=0;k後記:這道題自己做不出來,是看了別人的**後自己加以分析的。

增減字串匹配

給定只含 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 輸出 i...

148 增減字串匹配

題目描述 給定只含 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...

942 增減字串匹配

給定只含 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 輸出 i...