假设我们有一个长度为 S 的字符串。考虑有 n 个数字,它们排列成一个圆圈。我们不知道这些数字的值,但如果 S[i] = 'E' 它表示第 i 个和第 (i+1) 个数字相同,但如果是 'N' 则它们是不同的。从 S 我们必须检查是否可以重新创建序列。
因此,如果输入像 S = "ENNEENE",那么输出将为 True,因为我们可以分配像 [15,15,4,20,20,20,15] 这样的值。
脚步
为了解决这个问题,我们将遵循以下步骤 -
if S has single 'N', then: return false return true
示例
让我们看看以下实现以更好地理解 -
#include<bits/stdc++.h> using namespace std; bool solve(string S){ if (count(S.begin(), S.end(), 'N') == 1) return false; return true; } int main(){ string S = "ENNEENE"; cout << solve(S) << endl; }
输入
"ENNEENE"输出结果
1