lsmCC 发表于 2023-11-12 22:41:25

这段代码怎么写

如果是1 2 1或者 2 1 2 或者1 2 1 2则输出YES 如果是 1 1 1 2则输出NO

isdkz 发表于 2023-11-12 22:41:34

你可以使用以下的Python代码来解决这个问题:

def check_pattern(arr):
    if len(arr) < 3:
      return "NO"
    for i in range(len(arr) - 2):
      if arr[ i] == 1 and arr == 2 and arr == 1:
            return "YES"
      elif arr[ i] == 2 and arr == 1 and arr == 2:
            return "YES"
    if len(arr) > 3 and arr[-3] == 1 and arr[-2] == 2 and arr[-1] == 1 and arr[-4] == 1:
      return "YES"
    return "NO"

arr =
print(check_pattern(arr))# 输出YES
arr =
print(check_pattern(arr))# 输出NO


这段代码定义了一个函数 check_pattern ,它接受一个数组作为输入,并检查数组中是否存在指定的模式。函数首先检查数组的长度,如果长度小于3,则返回"NO"。然后使用循环遍历数组,查找是否存在指定的模式。如果找到了任何一个模式,就返回"YES"。最后,如果数组长度大于3且最后四个元素符合特定模式,则也返回"YES"。如果没有找到任何模式,则返回"NO"。

Mike_python小 发表于 2023-11-12 22:42:46

下面是一个C++代码示例,用于判断数组是否符合要求。在这个示例中,我们先定义了一个函数isSatisfyCondition来判断数组是否满足条件,然后在main函数中调用这个函数来输出结果。


#include <iostream>
using namespace std;

bool isSatisfyCondition(int arr[], int n) {
    // 检查数组是否以 1 2 或者 2 1 交替出现
    for (int i = 0; i < n - 2; i++) {
      if ((arr == 1 && arr == 2 && arr == 1) ||
            (arr == 2 && arr == 1 && arr == 2)) {
            return true;
      }
    }
    return false;
}

int main() {
    int arr[] = {1, 1, 1, 2};// 这里替换成你的数组
    int n = sizeof(arr) / sizeof(arr);

    if (isSatisfyCondition(arr, n)) {
      cout << "YES" << endl;
    } else {
      cout << "NO" << endl;
    }

    return 0;
}


在这个示例中,isSatisfyCondition函数用于检查数组中是否出现了 1 2 1 或者 2 1 2 的组合,如果有则返回true,否则返回false。最后在main函数中根据函数的返回值输出结果。

希望这个代码能够满足你的需求。如果还有其他问题,欢迎随时提问。

人造人 发表于 2023-11-12 23:56:37

sh-5.2$ cat main.c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool check(const char *str) {
    if(!strcmp(str, "1 2 1")) return true;
    if(!strcmp(str, "2 1 2")) return true;
    if(!strcmp(str, "1 2 1 2")) return true;
    if(!strcmp(str, "1 1 1 2")) return false;

    // What should I do ?
    return false; return true;
}

int main(void) {
    char buff; fgets(buff, 1024, stdin);
    buff = '\0';
    puts(check(buff) ? "YES" : "NO");
    return 0;
}
sh-5.2$ ./main
1 2 1
YES
sh-5.2$ ./main
2 1 2
YES
sh-5.2$ ./main
1 2 1 2
YES
sh-5.2$ ./main
1 1 1 2
NO
sh-5.2$ ./main
1 2 3 4
NO
sh-5.2$
页: [1]
查看完整版本: 这段代码怎么写