挑战数据结构与算法面试题——统计上排数在下排出现的次数
时间:2022-05-04
本文章向大家介绍挑战数据结构与算法面试题——统计上排数在下排出现的次数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。
分析:
本题应该是一个确定的问题,即上排的是个数是题目中给定的十个数。
其基本的解题过程为:
- [10,0,0,0,0,0,0,0,0,0]
- [9,0,0,0,0,0,0,0,0,1]
- [8,1,0,0,0,0,0,0,1,0]
- [7,2,1,0,0,0,0,1,0,0]
- [6,2,1,0,0,0,1,0,0,0]
其中,循环的终止条件为:数组中的元素不再改变。
本题理解上是给定的数组:[0,1,2,3,4,5,6,7,8,9];如果不是给定的数组,那么解法上会有所不同。
方法:
#define len 10
void get_every_num(int *a, int *b) {
// 1、初始化
for (int i = 0; i < len; i++) {
b[i] = 0;
}
// 2、修改值
int changed = 1;
while (changed) {
changed = 0;
for (int i = 0; i < len; i++) {
int count = 0;
for (int j = 0; j < len; j ++) {
if (a[i] == b[j]) count ++;
}
if (b[i] != count) {
b[i] = count;
changed ++;
}
}
}
}
- GridView实战二:使用ObjectDataSource数据源控件(自定义缓存机制实现Sort)
- 把孩子打造成为码农
- 分享基于Qt5开发的一款故障波形模拟软件
- 剑指OFFER之打印1到最大的N位数(九度OJ1515)
- GridView实战二:使用ObjectDataSource数据源控件
- javascript实例:逐条记录停顿的走马灯
- Python标准库05 存储对象 (pickle包,cPickle包)
- macOS平台下虚拟摄像头的研发总结
- 网页优化系列三:使用压缩后置viewstate
- 网页优化系列三:使用压缩后置viewstate
- macOS下利用dSYM文件将crash文件中的内存地址转换为可读符号
- 微信小程序的大动作
- Python标准库04 文件管理 (部分os包,shutil包)
- 手把手教你Dojo入门
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php适配器模式简单应用示例
- Python 解析简单的XML数据
- Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
- Python分类测试代码实例汇总
- Swoole 5将移除自动添加Event::wait()特性详解
- laravel 数据验证规则详解
- JS操作XML中DTD介绍及使用方法分析
- PHP设计模式之迭代器(Iterator)模式入门与应用详解
- PHP FileSystem 文件系统常用api整理总结
- laravel框架之数据库查出来的对象实现转化为数组
- php apache开启跨域模式过程详解
- laravel5.6实现数值转换
- python中return不返回值的问题解析
- php装饰者模式简单应用案例分析
- php常用日期时间函数实例小结