Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1da246e

Browse files
committed
Updated 383-ransom-note.md.
1 parentedd6186 commit1da246e

File tree

3 files changed

+91
-162
lines changed

3 files changed

+91
-162
lines changed

‎en/1-1000/383-ransom-note.md

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,33 +38,36 @@ Difficulty: **Easy**
3838
3. Then, traverse`ransomNote` and perform reverse operations on the data in`Map`. If the count of a character is less than 0, return`false`.
3939

4040
##Steps
41+
4142
1. First count the characters in`magazine`, and store the results in`Map`.
42-
```javascript
43-
charToCount=newMap()
4443

45-
for (characterin magazine) {
46-
charToCount[character]+=1
47-
}
48-
```
44+
```javascript
45+
charToCount = new Map()
46+
47+
for (character in magazine) {
48+
charToCount[character] += 1
49+
}
50+
```
4951

5052
2. Then, traverse`ransomNote` and perform reverse operations on the data in`Map`. If the count of a character is less than 0, return`false`.
51-
```javascript
52-
charToCount=newMap()
5353

54-
for (characterin magazine) {
55-
charToCount[character]+=1
56-
}
57-
58-
for (characterin ransomNote) {
59-
charToCount[character]-=1
60-
61-
if (charToCount[character]<0) {
62-
returnfalse
63-
}
64-
}
65-
66-
returntrue
67-
```
54+
```javascript
55+
charToCount = new Map()
56+
57+
for (character in magazine) {
58+
charToCount[character] += 1
59+
}
60+
61+
for (character in ransomNote) {
62+
charToCount[character] -= 1
63+
64+
if (charToCount[character] < 0) {
65+
return false
66+
}
67+
}
68+
69+
return true
70+
```
6871

6972
##Complexity
7073
* Time:`O(n)`.

‎en/3001-4000/unorganized.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,3 +207,7 @@ Add a table to show the differences between A-Start and breadth-first search
207207
-https://leetcode.com/problems/find-special-substring-of-length-k/
208208
-https://leetcode.cn/problems/eat-pizzas/
209209
-https://leetcode.cn/problems/merge-intervals/
210+
211+
##Other algorithm
212+
* 线段树https://leetcode.cn/problems/fruits-into-baskets-iii
213+
*

‎zh/1-1000/383-ransom-note.md

Lines changed: 62 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,83 @@
1-
#383. Ransom Note - Best Practices of LeetCode Solutions
2-
LeetCode link:[383. Ransom Note](https://leetcode.com/problems/ransom-note),
3-
[383. 赎金信](https://leetcode.cn/problems/ransom-note)
1+
原文链接:[coding5.com - 力扣题解最佳实践](https://coding5.com/zh/leetcode/383-ransom-note)
42

5-
[中文题解](#中文题解)
3+
#383. 赎金信 - 力扣题解最佳实践
64

7-
##LeetCode problem description
8-
Given two strings`ransomNote` and`magazine`, return`true` if`ransomNote` can be constructed by using the letters from`magazine` and`false` otherwise.
5+
力扣链接:[383. 赎金信](https://leetcode.cn/problems/ransom-note), 难度:**简单**
96

10-
Each letter in`magazine` can only be used once in`ransomNote`.
7+
##力扣“383. 赎金信”问题描述
118

12-
Difficulty:**Easy**
9+
给你两个字符串:`ransomNote``magazine` ,判断`ransomNote` 能不能由`magazine` 里面的字符构成。
1310

14-
###[Example 1]
15-
**Input**:`ransomNote = "a", magazine = "b"`
11+
如果可以,返回`true` ;否则返回`false`
1612

17-
**Output**:`false`
13+
`magazine` 中的每个字符只能在`ransomNote` 中使用一次。
1814

19-
###[Example 2]
20-
**Input**:`ransomNote = "aa", magazine = "ab"`
15+
###[示例 1]
2116

22-
**Output**:`false`
17+
**输入**:`ransomNote = "a", magazine = "b"`
2318

24-
###[Example 3]
25-
**Input**:`ransomNote = "aa", magazine = "aab"`
19+
**输出**:`false`
20+
###[示例 2]
2621

27-
**Output**:`true`
22+
**输入**:`ransomNote = "aa", magazine = "ab"`
2823

29-
###[Constraints]
30-
-`1 <= ransomNote.length, magazine.length <= 100000`
31-
-`ransomNote` and`magazine` consist of lowercase English letters.
24+
**输出**:`false`
25+
###[示例 3]
3226

33-
##Intuition
34-
[中文题解](#中文题解)
27+
**输入**:`ransomNote = "aa", magazine = "aab"`
3528

36-
1. This question is equivalent to asking whether`magazine` can contain all the characters in`ransomNote`.
37-
2. First count the characters in`magazine`, and store the results in`Map`.
38-
3. Then, traverse`ransomNote` and perform reverse operations on the data in`Map`. If the count of a character is less than 0, return`false`.
29+
**输出**:`true`
30+
###[约束]
3931

40-
##Steps
41-
1. First count the characters in`magazine`, and store the results in`Map`.
42-
```javascript
43-
charToCount=newMap()
32+
-`1 <= ransomNote.length, magazine.length <= 10^5`
33+
-`ransomNote``magazine` 由小写英文字母组成
4434

45-
for (characterin magazine) {
46-
charToCount[character]+=1
47-
}
48-
```
35+
##思路
4936

50-
2. Then, traverse`ransomNote` and perform reverse operations on the data in`Map`. If the count of a character is less than 0, return`false`.
51-
```javascript
52-
charToCount=newMap()
37+
1. 本题等同于求`magazine`是否能包含`ransomNote`中的所有字符。
38+
2. 先对`magazine`进行统计,得出每个字符对应的字数,结果存储在`Map`中。每一次都是一个加一的操作。
39+
3. 下一步做什么?
40+
<details><summary>点击查看答案</summary><p>遍历`ransomNote`,对当前字符对应的数量进行减一操作(反向操作)。如果某个字符的数量小于0,则返回`false`。</p></details>
5341

54-
for (characterin magazine) {
55-
charToCount[character]+=1
56-
}
42+
##步骤
5743

58-
for (characterin ransomNote) {
59-
charToCount[character]-=1
44+
1. 先对`magazine`进行字符和字数统计,结果存储在`Map`中。
6045

61-
if (charToCount[character]<0) {
62-
returnfalse
63-
}
64-
}
46+
```javascript
47+
charToCount = new Map()
6548

66-
returntrue
67-
```
49+
for (character in magazine) {
50+
charToCount[character] += 1
51+
}
52+
```
53+
54+
2. 然后,遍历`ransomNote`,并对`Map`中的数据进行反向操作。如果某个字符的字数小于0,则返回`false`
6855

69-
##Complexity
70-
* Time:`O(n)`.
71-
* Space:`O(n)`.
56+
```javascript
57+
charToCount = new Map()
58+
59+
for (character in magazine) {
60+
charToCount[character] += 1
61+
}
62+
63+
for (character in ransomNote) {
64+
charToCount[character] -= 1
65+
66+
if (charToCount[character] < 0) {
67+
return false
68+
}
69+
}
70+
71+
return true
72+
```
73+
74+
##复杂度
75+
76+
- 时间复杂度:`O(N)`.
77+
- 空间复杂度:`O(N)`.
7278

7379
##Java
80+
7481
```java
7582
classSolution {
7683
publicbooleancanConstruct(StringransomNote,Stringmagazine) {
@@ -94,6 +101,7 @@ class Solution {
94101
```
95102

96103
##Python
104+
97105
```python
98106
# from collections import defaultdict
99107

@@ -113,12 +121,8 @@ class Solution:
113121
returnTrue
114122
```
115123

116-
##C++
117-
```cpp
118-
// Welcome to create a PR to complete the code of this language, thanks!
119-
```
120-
121124
##JavaScript
125+
122126
```javascript
123127
varcanConstruct=function (ransomNote,magazine) {
124128
constcharToCount=newMap()
@@ -140,6 +144,7 @@ var canConstruct = function (ransomNote, magazine) {
140144
```
141145

142146
##C#
147+
143148
```c#
144149
publicclassSolution
145150
{
@@ -165,91 +170,8 @@ public class Solution
165170
}
166171
```
167172

168-
##Go
169-
```go
170-
// Welcome to create a PR to complete the code of this language, thanks!
171-
```
172-
173-
##Ruby
174-
```ruby
175-
# Welcome to create a PR to complete the code of this language, thanks!
176-
```
177-
178-
##C
179-
```c
180-
// Welcome to create a PR to complete the code of this language, thanks!
181-
```
182-
183-
##Kotlin
184-
```kotlin
185-
// Welcome to create a PR to complete the code of this language, thanks!
186-
```
187-
188-
##Swift
189-
```swift
190-
// Welcome to create a PR to complete the code of this language, thanks!
191-
```
192-
193-
##Rust
194-
```rust
195-
// Welcome to create a PR to complete the code of this language, thanks!
196-
```
197-
198173
##Other languages
199-
```
200-
// Welcome to create a PR to complete the code of this language, thanks!
201-
```
202-
203-
##力扣问题描述
204-
[383. 赎金信](https://leetcode.cn/problems/ransom-note) ,难度:**简单**
205-
206-
给你两个字符串:`ransomNote``magazine` ,判断`ransomNote` 能不能由`magazine` 里面的字符构成。
207-
208-
如果可以,返回`true` ;否则返回`false`
209-
210-
`magazine` 中的每个字符只能在`ransomNote` 中使用一次。
211-
212-
###[示例 2]
213-
**输入**:`ransomNote = "aa", magazine = "ab"`
214-
215-
**输出**:`false`
216-
217-
###[示例 3]
218-
**输入**:`ransomNote = "aa", magazine = "aab"`
219174

220-
**输出**:`true`
221-
222-
#中文题解
223-
##思路
224-
1. 本题等同于求`magazine`是否能包含`ransomNote`中的所有字符。
225-
2. 先对`magazine`进行字符和字数统计,结果存储在`Map`中。
226-
3. 然后,遍历`ransomNote`,并对`Map`中的数据进行反向操作。如果某个字符的字数小于0,则返回`false`
227-
228-
##步骤
229-
1. 先对`magazine`进行字符和字数统计,结果存储在`Map`中。
230-
```javascript
231-
charToCount=newMap()
232-
233-
for (characterin magazine) {
234-
charToCount[character]+=1
235-
}
236-
```
237-
238-
2. 然后,遍历`ransomNote`,并对`Map`中的数据进行反向操作。如果某个字符的字数小于0,则返回`false`
239-
```javascript
240-
charToCount=newMap()
241-
242-
for (characterin magazine) {
243-
charToCount[character]+=1
244-
}
245-
246-
for (characterin ransomNote) {
247-
charToCount[character]-=1
248-
249-
if (charToCount[character]<0) {
250-
returnfalse
251-
}
252-
}
253-
254-
returntrue
175+
```java
176+
// Welcome to create a PR to complete the code of this language, thanks!
255177
```

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp