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

Find the Difference ใน C++

แนวคิด

สมมติว่ามีสตริง s และ t ประกอบด้วยตัวอักษรพิมพ์เล็กเท่านั้น สตริง t สร้างโดยการสุ่มลำดับ s แล้วเพิ่มตัวอักษรอีกหนึ่งตัวที่ดัชนีสุ่ม ต้องหาตัวอักษรที่เพิ่มใน t

เช่น ถ้าอินพุตคือ "mnopq","pqmnot" ผลลัพธ์คือ "t" นี่คือตัวอักษรเพิ่ม

วิธีแก้:

  • sSum := 0, tSum := 0
  • วนลูป i := 0 ถึงความยาว s - 1: sSum := sSum + s[i]
  • วนลูป j := 0 ถึงความยาว t - 1: tSum := tSum + t[j]
  • คืนค่า (tSum - sSum) เป็นตัวอักษร

ตัวอย่าง

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

อินพุต

"mnopq","pqmnot"

เอาต์พุต

t