检查没有额外变量的数组字符串字符值[关闭]

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。

【讨论】:

以上是关于检查没有额外变量的数组字符串字符值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数组列表是不是包含特定的字符串值? [复制]

如何检查字符串是不是包含数组中的任何元素[关闭]

用于检查字符串列表/数组中的字符串的 C# 最佳实践 (LINQ) [关闭]

C ++对象默认变量[关闭]

检查数组TWIG中是否存在值

理解删除字符串中重复字符的代码(来自破解编码面试)[关闭]