检查没有额外变量的数组字符串字符值[关闭]
Posted
技术标签:
【中文标题】检查没有额外变量的数组字符串字符值[关闭]【英文标题】:Check an Array String character value without extra variable [closed] 【发布时间】:2021-04-16 22:04:04 【问题描述】:假设我有这个代码:
string str[] = "devil", "chandra";
// check if str[0] has properly devil, character by character or not without extra variable
现在我想检查 str[ 0 ] 的所有字符,即 'd','e','v','i','l' 没有额外的变量。 额外的变量代码将是:
string n1 = "devil";
for(int i=0; i<1; i++)
string s1 = str[i]
for(int j=0; j<s1.size(); j++)
if(s1[i] == n[i])
cout << s1[i] << " ";
基本上,我想要 O(n) 循环,我可以在其中访问所有索引字符串以及其中的所有字符。
就像 s[i] 是“魔鬼”和 s[[i]] = 'd' 这样的东西,知道它是无效的,但是有什么办法吗? 甚至我都不知道这是一个有效的问题!
【问题讨论】:
str[0] == "devil"
?没有额外的变量,除非std::string
的内部实现会使用它。
@Chandra Sekhar 首先展示您如何使用额外变量检查条件。:)
这听起来像是来自一些在线竞赛/竞赛网站的问题,它测试是否有人知道如何使用 C++ 库中的迭代器和算法。不幸的是,这些无用的竞赛网站只是一堆毫无意义的编程难题,没有任何教程或任何材料来教授或解释基本的 C++ 概念。想要学习如何回答这类问题的人,只有学习了 C++ using a good C++ textbook,才能做到这一点,
【参考方案1】:
我不确定你为什么需要一个额外的变量。如果您需要一个条件来检查字符串数组中的第一个值是否为“devil”,那么它不应该比以下复杂:
if (str[0] == "devil")
* Do things *
C++ 可以一次检查一个标准字符串。如果这是您的想法,则无需检查每个单独的字符。
请记住,这不会考虑字符串不完全相同的情况。例如,如果 str[0] 具有“Devil”而不是“devil”,则条件将评估为 false。
【讨论】:
以上是关于检查没有额外变量的数组字符串字符值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章