解题思路
1 设置min最小值0,max最大值N
遇到D(down) 就玩最大值N开始填 N–
遇到I(increase) 就玩最小值0开始填 0++

class Solution {
public:
vector<int> diStringMatch(string S) {
int N=S.length();
vector<int> A(N+1,0);
int min=0;
int max=N;
for(int i=0;i<N;i++)
{
if(S[i]=='I')
{
A[i]=min;
min++;
}
if(S[i]=='D')
{
A[i]=max;
max--;
}
}
A[N]=max;
return A;
}
};
本文详细解析了DI字符串匹配算法的实现思路与代码。通过设置最小值与最大值,根据字符'I'(增加)和'D'(下降)动态填充数组,解决给定字符串S的匹配问题。适用于算法学习与面试准备。
726

被折叠的 条评论
为什么被折叠?



