-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
70 lines (63 loc) · 2.23 KB
/
main.go
File metadata and controls
70 lines (63 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Source: https://leetcode.com/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence
// Title: Check If a Word Occurs As a Prefix of Any Word in a Sentence
// Difficulty: Easy
// Author: Mu Yang <http://muyang.pro>
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Given a `sentence` that consists of some words separated by a **single space**, and a `searchWord`, check if `searchWord` is a prefix of any word in `sentence`.
//
// Return the index of the word in `sentence` (**1-indexed**) where `searchWord` is a prefix of this word. If `searchWord` is a prefix of more than one word, return the index of the first word **(minimum index)**. If there is no such word return `-1`.
//
// A **prefix** of a string `s` is any leading contiguous substring of `s`.
//
// **Example 1:**
//
// ```
// Input: sentence = "i love eating burger", searchWord = "burg"
// Output: 4
// Explanation: "burg" is prefix of "burger" which is the 4th word in the sentence.
// ```
//
// **Example 2:**
//
// ```
// Input: sentence = "this problem is an easy problem", searchWord = "pro"
// Output: 2
// Explanation: "pro" is prefix of "problem" which is the 2nd and the 6th word in the sentence, but we return 2 as it's the minimal index.
// ```
//
// **Example 3:**
//
// ```
// Input: sentence = "i am tired", searchWord = "you"
// Output: -1
// Explanation: "you" is not a prefix of any word in the sentence.
// ```
//
// **Constraints:**
//
// - `1 <= sentence.length <= 100`
// - `1 <= searchWord.length <= 10`
// - `sentence` consists of lowercase English letters and spaces.
// - `searchWord` consists of lowercase English letters.
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package main
import "strings"
func isPrefixOfWord(sentence string, searchWord string) int {
i := 0
for word := range strings.SplitSeq(sentence, " ") {
i++
if strings.HasPrefix(word, searchWord) {
return i
}
}
return -1
}
func isPrefixOfWord2(sentence string, searchWord string) int {
for i, word := range strings.Split(sentence, " ") {
if strings.HasPrefix(word, searchWord) {
return i + 1
}
}
return -1
}