ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่หาจำนวนคู่ทั้งหมด (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
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น