用java实现一个算法:小红每天都要背单词,然后她会把每天记住了多少单词记录下来,并在小红书上打卡。 当小红背单词时,如果她已经记住了i个单词,且背了一个没有记住的新单词i+ 1次,则她就会记住这个
以下是用Java实现该算法的代码:
```java
import java.util.*;
public class WordLearning {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 输入的单词数量
String[] words = new String[n];
for (int i = 0; i < n; i++) {
words[i] = scanner.next(); // 输入的单词序列
}
int count = countWords(words);
System.out.println(count);
}
public static int countWords(String[] words) {
Set<String> learnedWords = new HashSet<>(); // 记录已经学会的单词
int count = 0; // 记录学会的单词数量
for (String word : words) {
if (!learnedWords.contains(word)) {
learnedWords.add(word);
count++;
}
}
return count;
}
}
```
使用该算法,你可以输入单词的数量和单词序列,然后程序会输出小红今天记住的单词数量。
```java
import java.util.*;
public class WordLearning {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 输入的单词数量
String[] words = new String[n];
for (int i = 0; i < n; i++) {
words[i] = scanner.next(); // 输入的单词序列
}
int count = countWords(words);
System.out.println(count);
}
public static int countWords(String[] words) {
Set<String> learnedWords = new HashSet<>(); // 记录已经学会的单词
int count = 0; // 记录学会的单词数量
for (String word : words) {
if (!learnedWords.contains(word)) {
learnedWords.add(word);
count++;
}
}
return count;
}
}
```
使用该算法,你可以输入单词的数量和单词序列,然后程序会输出小红今天记住的单词数量。