Skip to content

Commit

Permalink
Merge pull request #1021 from 0xff-dev/2490
Browse files Browse the repository at this point in the history
Add solution and test-cases for problem 2490
  • Loading branch information
6boris authored Nov 17, 2024
2 parents 8a19dff + 92ebe8d commit dbd4dda
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 21 deletions.
51 changes: 38 additions & 13 deletions leetcode/2401-2500/2490.Circular-Sentence/README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,53 @@
# [2490.Circular Sentence][title]

> [!WARNING|style:flat]
> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm)
## Description
A **sentence** is a list of words that are separated by a **single** space with no leading or trailing spaces.

- For example, `"Hello World"`, `"HELLO"`, `"hello world hello world"` are all sentences.

Words consist of **only** uppercase and lowercase English letters. Uppercase and lowercase English letters are considered different.

A sentence is **circular** if:

- The last character of a word is equal to the first character of the next word.
- The last character of the last word is equal to the first character of the first word.

For example, `"leetcode exercises sound delightful"`, `"eetcode"`, `"leetcode eats soul"` are all circular sentences. However, `"Leetcode is cool"`, `"happy Leetcode"`, `"Leetcode"` and `"I like Leetcode"` are **not** circular sentences.

Given a string `sentence`, return `true` if it is circular. Otherwise, return `false`.

**Example 1:**

```
Input: a = "11", b = "1"
Output: "100"
Input: sentence = "leetcode exercises sound delightful"
Output: true
Explanation: The words in sentence are ["leetcode", "exercises", "sound", "delightful"].
- leetcode's last character is equal to exercises's first character.
- exercises's last character is equal to sound's first character.
- sound's last character is equal to delightful's first character.
- delightful's last character is equal to leetcode's first character.
The sentence is circular.
```

## 题意
> ...
## 题解
**Example 2:**

### 思路1
> ...
Circular Sentence
```go
```
Input: sentence = "eetcode"
Output: true
Explanation: The words in sentence are ["eetcode"].
- eetcode's last character is equal to eetcode's first character.
The sentence is circular.
```

**Example 3:**

```
Input: sentence = "Leetcode is cool"
Output: false
Explanation: The words in sentence are ["Leetcode", "is", "cool"].
- Leetcode's last character is not equal to is's first character.
The sentence is not circular.
```

## 结语

Expand Down
15 changes: 13 additions & 2 deletions leetcode/2401-2500/2490.Circular-Sentence/Solution.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
package Solution

func Solution(x bool) bool {
return x
func Solution(sentence string) bool {
l := len(sentence)
if sentence[0] != sentence[l-1] {
return false
}
for i := range sentence {
if sentence[i] == ' ' {
if sentence[i-1] != sentence[i+1] {
return false
}
}
}
return true
}
12 changes: 6 additions & 6 deletions leetcode/2401-2500/2490.Circular-Sentence/Solution_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ func TestSolution(t *testing.T) {
// 测试用例
cases := []struct {
name string
inputs bool
inputs string
expect bool
}{
{"TestCase", true, true},
{"TestCase", true, true},
{"TestCase", false, false},
{"TestCase1", "leetcode exercises sound delightful", true},
{"TestCase2", "eetcode", true},
{"TestCase3", "Leetcode is cool", false},
}

// 开始测试
Expand All @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) {
}
}

// 压力测试
// 压力测试
func BenchmarkSolution(b *testing.B) {
}

// 使用案列
// 使用案列
func ExampleSolution() {
}

0 comments on commit dbd4dda

Please sign in to comment.