Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm sự khác biệt trong C ++


Giả sử chúng ta có hai chuỗi s và t chỉ gồm các chữ cái thường. Bây giờ, chuỗi t được tạo ra bằng cách xáo trộn ngẫu nhiên chuỗi s và sau đó thêm một chữ cái nữa vào một chỉ mục ngẫu nhiên. Chúng ta phải tìm chữ cái đã được thêm vào.

Vì vậy, nếu đầu vào là "mnopq", "pqmnot", thì đầu ra sẽ là "t", đây là chữ cái phụ.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • sSum:=0, tSum:=0

  • để khởi tạo i:=0, khi tôi

    • sSum:=sSum + s [i]

  • để khởi tạo j:=0, khi j <độ dài cuộc gọi () của t, cập nhật (tăng j lên 1), thực hiện -

    • tSum:=tSum + t [j]

  • return (tSum - sSum) dưới dạng ký tự

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   char findTheDifference(string s, string t) {
      int sSum = 0;
      int tSum = 0;
      for (int i = 0; i < s.length(); i++) {
         sSum += s[i];
      }
      for (int j = 0; j < t.length(); j++) {
         tSum += t[j];
      }
      return char(tSum - sSum);
   }
};
main(){
   Solution ob;
   cout << (ob.findTheDifference("mnopq","pqmnot"));
}

Đầu vào

"mnopq","pqmnot"

Đầu ra

t