383. Ransom Note
Văn bản bài toán được dịch từ tiếng Nga theo ngôn ngữ giao diện. Mã không thay đổi.
given две строки ransomNote и magazine, return true, если ransomNote можно составить, используя буквы из magazine, и false в противном случае.
Каждая буква из magazine может быть использована в ransomNote только один раз.
Ví dụ:
Input: ransomNote = "a", magazine = "b"
Output: false
C# lời giải
đã khớp/gốcpublic bool CanConstruct(string ransomNote, string magazine) {
foreach (char c in ransomNote) {
int index = magazine.IndexOf(c);
if (index == -1) {
return false;
}
magazine = magazine.Remove(index, 1);
}
return true;
}
C++ lời giải
bản nháp tự động, xem lại trước khi gửi#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
public bool CanConstruct(string ransomNote, string magazine) {
foreach (char c in ransomNote) {
int index = magazine.IndexOf(c);
if (index == -1) {
return false;
}
magazine = magazine.Remove(index, 1);
}
return true;
}
Java lời giải
đã khớp/gốcpublic boolean canConstruct(String ransomNote, String magazine) {
for (char c : ransomNote.toCharArray()) {
int index = magazine.indexOf(c);
if (index == -1) {
return false;
}
magazine = magazine.substring(0, index) + magazine.substring(index + 1);
}
return true;
}
JavaScript lời giải
đã khớp/gốcfunction canConstruct(ransomNote, magazine) {
for (let char of ransomNote) {
let index = magazine.indexOf(char);
if (index === -1) {
return false;
}
magazine = magazine.slice(0, index) + magazine.slice(index + 1);
}
return true;
}
Python lời giải
đã khớp/gốcdef canConstruct(ransomNote: str, magazine: str) -> bool:
for char in ransomNote:
index = magazine.find(char)
if index == -1:
return false
magazine = magazine[:index] + magazine[index + 1:]
return True
Go lời giải
đã khớp/gốcpackage main
import (
"strings"
)
func canConstruct(ransomNote string, magazine string) bool {
for _, char := range ransomNote {
index := strings.IndexRune(magazine, char)
if index == -1 {
return false
}
magazine = magazine[:index] + magazine[index+1:]
}
return true
}
Algorithm
Поскольку строки являются неизменяемым типом, их нельзя изменять, поэтому у них нет операций "вставки" и "удаления".
По этой причине необходимо заменять строку magazine новой строкой, в которой отсутствует символ, который мы хотели удалить.
Повторяйте этот процесс, пока не будут удалены все необходимые символы.
😎
Vacancies for this task
việc làm đang hoạt động with overlapping task tags are đã hiển thị.
Chưa có việc làm đang hoạt động.