Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โค้ด C++ ตรวจสอบอาร์เรย์สร้างจากลำดับ Equal-NotEqual ได้หรือไม่

สมมติว่าเรามีสตริง S ความยาว n พิจารณาว่ามีตัวเลข n ตัวจัดวงกลม ไม่รู้ค่า แต่ถ้า S[i] = 'E' บ่งชี้ i และ i+1 เหมือนกัน ถ้า 'N' แปลกต่างกัน จาก S ตรวจสอบว่าสร้างลำดับได้หรือไม่

เช่น ถ้าอินพุตคือ S = "ENNEENE" เอาต์พุตจะเป็น True เพราะกำหนดค่าได้ เช่น [15,15,4,20,20,20,15]

ขั้นตอนการแก้ปัญหา

if S มี 'N' เพียงตัวเดียว:
    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