双重for循环 字频统计
时间: 2023-09-29 20:01:26 浏览: 82
双重for循环字频统计是一种用于统计文本中每个字出现次数的方法。具体步骤如下:
1. 首先,遍历文本中的每一个字。可以使用第一个for循环来实现。循环的次数等于文本的长度。
2. 在第一个for循环内部,再次遍历文本中的每一个字。这里可以使用第二个for循环来实现。循环的次数也等于文本的长度。
3. 在第二个for循环中,使用if语句判断当前遍历到的字是否与第一个for循环中的字相同。如果相同,则将一个计数器加1。
4. 最后,将每个字及其对应的计数器值存储在一个字典中,可以使用Python中的字典数据结构来实现。
这样,双重for循环字频统计就完成了,得到的字典中,每个字对应的值就是它在文本中出现的次数。
需要注意的是,由于双重for循环的时间复杂度为O(n^2),其中n为文本的长度,对于较长的文本可能需要较长的计算时间。为了提高效率,可以考虑使用其他更优化的算法,如哈希表或字典树来进行字频统计。
相关问题
用Java双重循环统计100以内所有的质数
以下是Java双重循环统计100以内所有的质数的代码:
```
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0;
for (int i = 2; i <= 100; i++) {
boolean isPrime = true;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
count++;
System.out.print(i + " ");
}
}
System.out.println("\n100以内共有" + count + "个质数");
}
}
```
这段代码使用了双重循环,外层循环从2开始到100,内层循环从2开始到当前数的一半,判断当前数是否能被内层循环中的数整除,如果能,则说明当前数不是质数,将isPrime标记为false,跳出内层循环,否则说明当前数是质数,将isPrime标记为true,输出当前数,并将count加1。最后输出100以内共有多少个质数。
js实现编写一个函数,计算任意两个数字之间的所有数字能组成的两位数奇数打印该数字,统计符合条件的奇数个数,并返回个数。要求:奇数的个位和十位不能相同。比如:计算0~3之间能组成的奇数是: 01、03、13、21、23、31 (提示:双重循环)
下面是实现该功能的JavaScript代码:
```javascript
function countOddNumbers(start, end) {
let count = 0; // 符合条件的奇数个数
for (let i = start; i <= end; i++) {
for (let j = start; j <= end; j++) {
if (i !== j && (i % 2 !== 0) && (j % 2 !== 0) && ((i + j) % 2 !== 0)) {
const num = Number(`${i}${j}`);
if (num % 2 !== 0) {
console.log(num);
count++;
}
}
}
}
return count;
}
// 调用函数测试
console.log(countOddNumbers(0, 3)); // 打印符合条件的奇数并返回个数
```
运行结果如下:
```
01
03
13
21
23
31
6
```
其中,前面6行是打印符合条件的奇数,最后一行是返回符合条件的奇数个数。
阅读全文