Skip to content

Commit

Permalink
feat: add LeetCode problem 434 (#1252)
Browse files Browse the repository at this point in the history
* feat: add LeetCode problem 434

Adds solution of problem 434 for leetcode. Beats 100% Time, 97.18% space

* docs: updating `leetcode/DIRECTORY.md`

* Update 434.c

---------

Co-authored-by: PalAditya <PalAditya@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alexander Pantyukhin <apantykhin@gmail.com>
  • Loading branch information
4 people committed Apr 27, 2023
1 parent d07ab7d commit 2b88510
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
1 change: 1 addition & 0 deletions leetcode/DIRECTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
| 387 | [First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string) | [C](./src/387.c) | Easy |
| 389 | [Find the Difference](https://leetcode.com/problems/find-the-difference) | [C](./src/389.c) | Easy |
| 404 | [Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves) | [C](./src/404.c) | Easy |
| 434 | [Number of Segments in a String](https://leetcode.com/problems/number-of-segments-in-a-string) | [C](./src/434.c) | Easy |
| 442 | [Find All Duplicates in an Array](https://leetcode.com/problems/find-all-duplicates-in-an-array) | [C](./src/442.c) | Medium |
| 461 | [Hamming Distance](https://leetcode.com/problems/hamming-distance) | [C](./src/461.c) | Easy |
| 476 | [Number Complement](https://leetcode.com/problems/number-complement) | [C](./src/476.c) | Easy |
Expand Down
20 changes: 20 additions & 0 deletions leetcode/src/434.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Given a string s, returns the number of segments in the string.
int countSegments(char * s){
int sLen = strlen(s);
int prevSpace = 1;
int result = 0;
char currChar;

for (int i = 0; i < sLen; i++){
currChar = s[i];

//A string of whitespaces will only be counted once as the condition below is only true when we transition from whitespace to non-whitespace.
//Since we start with assumed whitespace (prevSpace = 1), initial whitespaces are handled as well, if any
if (s[i] != ' ' && prevSpace) {
result++;
}
prevSpace = (currChar == ' ');
}

return result;
}

0 comments on commit 2b88510

Please sign in to comment.