Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chuỗi ký tự cuối cùng sau khi thực hiện các thao tác cho trước trong C++

Trong hướng dẫn này, chúng ta sẽ giải quyết bài toán sau.

Cho một chuỗi chỉ chứa các ký tự 'a' và 'b', nhiệm vụ của chúng ta là xóa chuỗi con ab khỏi chuỗi đó. Sau đó in ra chuỗi còn lại.

Ý tưởng giải quyết bài toán này rất đơn giản. Mọi chuỗi chỉ chứa 'a' và 'b' cuối cùng sẽ co lại thành chỉ chứa 'a' hoặc chỉ chứa 'b'.

Các bước giải quyết

  • Khởi tạo chuỗi đầu vào.
  • Khởi tạo hai biến đếm cho 'a' và 'b'.
  • Duyệt qua chuỗi đã cho.
    • Đếm số lượng 'a' và 'b'.
  • Tìm giá trị lớn nhất giữa tần suất của 'a' và 'b'.
  • In ra hiệu số giữa hai tần suất.

Ví dụ

Hãy xem mã nguồn dưới đây.

#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; 
}

Kết quả

Nếu bạn chạy mã trên, bạn sẽ nhận được kết quả sau.

aaa

Kết luận

Nếu bạn có bất kỳ thắc mắc nào về hướng dẫn này, hãy đề cập trong phần bình luận.