统计数组中某个数出现的频率,方法很巧妙,使用下标作为key,使用对应下标的值作为频数,比如一共输入10个数,统计0~9的个数有多少?

#include <bits/stdc++.h>using namespace std;int cnt[10];int main()
{int x;for(int i = 0; i < 10; i++){scanf("%d",&x);cnt[x]++;}for(int i = 0; i < 10; i++){printf("%d的频率是%d\n",i,cnt[i]);}return 0;
}
输入数据:
1 2 3 3 5 1 7 2 8 1输出数据:
0的频率是0
1的频率是3
2的频率是2
3的频率是2
4的频率是0
5的频率是1
6的频率是0
7的频率是1
8的频率是1
9的频率是0

类似的用法有很多,比如同一等级的机器有很多,统计一下等级为3的机器有几个,再去从中取机器,又比如歌单中歌曲的长度,见leetcode1010题

在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。
返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i < j 且有 (time[i] + time[j]) % 60 == 0。
示例 1:

输入:[30,20,150,100,40]
输出:3
解释:这三对的总持续时间可被 60 整数:
(time[0] = 30, time[2] = 150): 总持续时间 180
(time[1] = 20, time[3] = 100): 总持续时间 120
(time[1] = 20, time[4] = 40): 总持续时间 60

示例 2:

输入:[60,60,60]
输出:3
解释:所有三对的总持续时间都是 120,可以被 60 整数。

提示:

1 <= time.length <= 60000
1 <= time[i] <= 500
class Solution {public:int numPairsDivisibleBy60(vector<int>& time) {if(time.empty())return 0;int res[60]={0};int num = 0;for(int i = 0; i < time.size(); i++){res[time[i]%60]++;}num += (res[0]*(res[0]-1))/(2*1);num += (res[30]*(res[30]-1))/(2*1);for(int i = 1; i < 30; i++){num += res[i]*res[60-i];}return num;}
};

有两个地方需要注意:

  1. 需要初始化,不然是随机值
  2. 组合数,Cn2C_{n}^2Cn2​

统计频次:统计数组中每种模的频次相关推荐

  1. JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  2. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  3. matlab 统计数组频数_利用MATLAB进行频率分析(统计数组中元素个数)

    在日常计算,工作中使用MATLAB经常会遇到这样的一个问题:如何统计数组中各数字(元素)出现的频数.频率和累积频率?本文就按照案例演示的方式做一个总结. 第一种方法:调用MATLAB自带的函数tabu ...

  4. Matlab 统计数组中各数字(元素)出现的次数

    如何统计一个数组中各数字(元素)出现的频数.频率和累积频率?这里以案例形式做一个总结. 第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计 ...

  5. Matlab 统计数组中各元素出现的频数、频率

    如何统计一个数组中各数字(元素)出现的频数.频率和累积频率?这里以案例形式做一个总结. 第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计 ...

  6. 频率分析(统计数组中元素个数)

    转载自: http://www.matlabsky.com/thread-9144-1-1.html 在论坛上经常遇到这样的问题:如何统计一个数组中各数字(元素)出现的频数.频率和累积频率?这里以案例 ...

  7. matlab中统计数组中各数字(元素)出现的次数

    1. tabulate 调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数.频率 [例1]统计数值型数组中各元素出现的频数.频率. >> x = [2 2 6 ...

  8. 在数组中寻找出现次数超过数组长度一半的数

    春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. 给定一个红 ...

  9. 手机通讯常识:什么是五模十三频?

    不少朋友在选购4G智能手机的时候,经常可能会遇到这样的名词,五模十三频.五模十七频.双4G.移动4G.联通4G.那这些名词到底是什么意思呢?它们之间又有什么区别呢? 其实上面的这些说法其实都是比较具有 ...

最新文章

  1. 200行代码,一行行教你自制微信机器人
  2. jquery easyui 动态绑定数据列
  3. 【数据结构复习】(1)绪论
  4. jQuery使用详解
  5. C语言中的数据类型及其转换详解
  6. VC#2005 Starter Kit: Screen Saver 使用介绍
  7. 人工智能“训练员”让 AI 更聪明
  8. linux 的ip 设置lo_Linux服务器设置静态IP的方法
  9. js时间搓化为今天明天_秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了...
  10. 警惕面试过程中的 PUA
  11. 子在川上曰,逝者如斯夫
  12. c# 获取本地主机的ip地址
  13. win7计算机用户配置文件存储路径,windows7系统电脑临时文件夹保存路径在哪
  14. web前端开发培训学院,前端校招面试题及解析大全,值得收藏!
  15. 13-新手小白如何选购笔记本电脑?
  16. 代码库_单精度浮点减法器
  17. 骨传导耳机对耳朵好不好、不伤耳的骨传导耳机推荐
  18. 硬币面值组合(C++)
  19. C和C++和Java的一些区别
  20. python语音特征提取_使用Python从视频中提取语音

热门文章

  1. MATLAB中图像处理的函数
  2. golang 实战企业网盘
  3. IHS分析师:折叠屏幕手机2017年前难上市
  4. Java入门到工作(送给学弟学姊)学习路线图
  5. PowerDesigner 批量添加字段
  6. python股票量化投资课程 百度云_网易云课堂 Python股票量化投资课程|百度云|天翼云|GD|OD下载...
  7. mysql where or短路吗,是否对SQL WHERE子句进行了短路评估?
  8. 域名怎么卖:玩好社群就可以!
  9. jQuery中的DOM操作
  10. 虽然不信god,但是技术上还是算是有信yan的人吧