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

Number of Segments in a String ใน C++

แนวคิด

สมมติว่ามีสตริง s ต้องนับจำนวน segments ในสตริง โดย segment ถูกกำหนดให้เป็นลำดับตัวอักษรติดต่อกัน (ไม่มี whitespace)

เช่น ถ้าอินพุตคือ "Hello, I love programming" ผลลัพธ์คือ 4 เพราะมี 4 segments

วิธีแก้:

  • n := 0
  • วนลูป i := 0 ถึงขนาด s - 1:
    • ถ้า s[i] ไม่ใช่ white space: เพิ่ม n ขึ้น 1
    • while (i < ขนาด s และ s[i] ไม่ใช่ white space): เพิ่ม i ขึ้น 1
  • คืนค่า n

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
    int countSegments(string s) {
        int n = 0;
        for(int i = 0; i < s.size(); i++){
            if(s[i] != ' ') n++;
            while(i < s.size() && s[i] != ' ') i++;
        }
        return n;
    }
};
main() {
    Solution ob;
    cout << (ob.countSegments("Hello, I love programming"));
}

อินพุต

"Hello, I love programming"

เอาต์พุต

4