434. Number of Segments in a String
Le texte du problème est traduit du russe pour la langue sélectionnée. Le code reste inchangé.
Дана chaîne s, return количество сегментов в строке.
Сегмент определяется как непрерывная последовательность символов, отличных от пробелов.
Exemple:
Input: s = "Hello, my name is John"
Output: 5
Explanation: The five segments are ["Hello,", "my", "name", "is", "John"]
C# solution
correspondant/originalpublic class Solution {
public int CountSegments(string s) {
int segmentCount = 0;
for (int i = 0; i < s.Length; i++) {
if ((i == 0 || s[i - 1] == ' ') && s[i] != ' ') {
segmentCount++;
}
}
return segmentCount;
}
}
C++ solution
brouillon automatique, à relire avant soumission#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int CountSegments(string s) {
int segmentCount = 0;
for (int i = 0; i < s.size(); i++) {
if ((i == 0 || s[i - 1] == ' ') && s[i] != ' ') {
segmentCount++;
}
}
return segmentCount;
}
}
Java solution
correspondant/originalpublic class Solution {
public int countSegments(String s) {
int segmentCount = 0;
for (int i = 0; i < s.length(); i++) {
if ((i == 0 || s.charAt(i-1) == ' ') && s.charAt(i) != ' ') {
segmentCount++;
}
}
return segmentCount;
}
}
JavaScript solution
correspondant/originalvar countSegments = function(s) {
let segmentCount = 0;
for (let i = 0; i < s.length; i++) {
if ((i === 0 || s[i - 1] === ' ') && s[i] !== ' ') {
segmentCount++;
}
}
return segmentCount;
};
Python solution
correspondant/originalclass Solution:
def countSegments(self, s: str) -> int:
segment_count = 0
for i in range(len(s)):
if (i == 0 or s[i-1] == ' ') and s[i] != ' ':
segment_count += 1
return segment_count
Go solution
correspondant/originalfunc countSegments(s string) int {
segmentCount := 0
for i := 0; i < len(s); i++ {
if (i == 0 || s[i-1] == ' ') && s[i] != ' ' {
segmentCount++
}
}
return segmentCount
}
Algorithm
Инициализируйте счетчик сегментов segment_count равным 0.
Итеративно пройдитесь по строке s. Для каждого индекса i проверьте, начинается ли на этом индексе сегмент: Если символ s[i] не является пробелом, и (либо это первый символ строки, либо предыдущий символ s[i-1] является пробелом), увеличьте segment_count.
return segment_count.
😎
Vacancies for this task
offres actives with overlapping task tags are affichés.
Il n'y a pas encore d'offres actives.