ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่หาจำนวนคู่ทั้งหมด (01 หรือ 10) เพื่อปลดปล่อยสตริงไบนารีจากคู่ (01 และ 10) มาดูตัวอย่างกัน
ป้อนข้อมูล − 101010001
ผลผลิต − 4
ในตัวอย่างข้างต้น เราต้องลบทั้งหมด 4 คู่เพื่อแยกสตริงไบนารีออกจากคู่ (01 และ 10)
สตริงผลลัพธ์หลังจากลบคู่ทั้งหมดคือ 0 .
เราต้องลบ 01 . ทั้งหมด และ 10 คู่จากสตริงไบนารี ดังนั้น จำนวนคู่ทั้งหมดที่จะลบคือขั้นต่ำ นับ(1) และ นับ(0) .
มาดูขั้นตอนการแก้ปัญหากัน
-
เริ่มต้นสตริงไบนารี
-
หาเลขศูนย์แล้วนับหนึ่ง
-
พิมพ์ค่าต่ำสุดจากศูนย์และนับจำนวน
ตัวอย่าง
มาดูโค้ดกันเลย
#include <bits/stdc++.h>
using namespace std;
int findMinimumNumberOfDeletions(string str, int len) {
int zeroes_count = 0, ones_count = 0;
// counting zeroes and ones
for (int i = 0; i < len; i++) {
if (str[i] == '0') {
zeroes_count++;
}
else {
ones_count++;
}
}
return min(zeroes_count, ones_count);
}
int main() {
string str = "101010001";
int len = str.length();
cout << findMinimumNumberOfDeletions(str, len) << endl;
return 0;
} ผลลัพธ์
หากคุณรันโปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้
4
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น