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

สตริงสุดท้ายหลังจากดำเนินการที่กำหนดใน C++

ในบทช่วยสอนนี้ เราจะแก้ปัญหาดังต่อไปนี้

กำหนดสตริงที่ประกอบด้วยตัวอักษร 'a' และ 'b' เท่านั้น ภารกิจของเราคือลบสตริงย่อย ab ออกจากสตริง และพิมพ์สตริงที่เหลืออยู่

แนวคิดในการแก้ปัญหานี้มีความเรียบง่ายมาก ทุกสตริงที่ประกอบด้วย a และ b เท่านั้นจะหดตัวเหลือเพียง a หรือ b เท่านั้นในที่สุด

ลองดูขั้นตอนในการแก้ปัญหา

  • กำหนดค่าเริ่มต้นให้กับสตริง

  • กำหนดตัวนับสองตัวสำหรับ a และ b

  • วนลูปผ่านสตริงที่กำหนด

    • นับจำนวน a และ b

  • หาค่าสูงสุดจากความถี่ของ a และ b

  • พิมพ์ความแตกต่างระหว่างสองค่า

ตัวอย่าง

ลองดูโค้ด

#include <bits/stdc++.h> 
using namespace std; 

string getTheUpdatedString(string str) { 
    int n = str.length(); 
    int a_count = 0, b_count = 0; 
    for (int i = 0; i < n; i++) { 
        if (str[i] == 'a') { 
            a_count++; 
        } else { 
            b_count++; 
        } 
    } 
    string updated_string = ""; 
    if (a_count > b_count) { 
        for (int i = 0; i < a_count - b_count; i++) { 
            updated_string += "a"; 
        } 
    } else { 
        for (int i = 0; i < b_count - a_count; i++) { 
            updated_string += "b"; 
        } 
    } 
    return updated_string; 
} 

int main() { 
    string str = "ababababaaa"; 
    cout << getTheUpdatedString(str) << endl; 
}

ผลลัพธ์

หากคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังนี้

aaa

สรุป

หากคุณมีข้อสงสัยใดๆ ในบทช่วยสอนนี้ โปรดระบุในส่วนความคิดเห็น