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

บทสรุป

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