C++ 代码检查数组是否可以由相等不等序列形成
假设我们有一个长度为 n 的字符串 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
广告