阿牧路泽

哪有那么多坚强,无非是死扛罢了
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

2018年10月22日

摘要: 题 目:如果在N个数中找出其中前K大的数? 思路一: 先对N个数进行排序,然后在取其前K大的数;(冒泡排序,快速排序等) 思路二: 部分排序,只排除前K大的数即可(使用选择排序进行部分排序,选择排序的时间复杂度O(N2)) 思路三: 我可以用分治法,这有点类似快排中partition的操作。随机选一 阅读全文

posted @ 2018-10-22 18:10 阿牧路泽 阅读(1097) 评论(0) 推荐(0)

摘要: 问题:手写一个函数,用于查找斐波那契数列的第N项目 阅读全文

posted @ 2018-10-22 17:46 阿牧路泽 阅读(424) 评论(0) 推荐(0)

摘要: 问题:手写代码实现sqrt函数,即求一个整数的平方根 分析:二分查找思想 阅读全文

posted @ 2018-10-22 17:45 阿牧路泽 阅读(399) 评论(0) 推荐(0)

摘要: 问题:给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数 0,1 和 2 分别代表红,白,蓝。例如:有数组 [1, 0, 1, 2], 直接排序成 [0, 1, 1, 2].要求: 不能使用sort函数, 只扫描遍历一 阅读全文

posted @ 2018-10-22 17:43 阿牧路泽 阅读(890) 评论(0) 推荐(0)

摘要: 问题:给定一个包含 n 个整数的数组,和一个大小为 k 的滑动窗口,从左到右在数组中滑动这个窗口,找到数组中每个窗口内的中位数。(如果数组个数是偶数,则在该窗口排序数字后,返回第 N/2 个数字。)例如:对于向量[1,2,7,8,5],窗口大小3,输出的结果为 [2,7,7]要求: 非暴力求解 阅读全文

posted @ 2018-10-22 17:42 阿牧路泽 阅读(689) 评论(0) 推荐(0)

摘要: 容器适配器 stack、queue、priority_queue 都不支持任一种迭代器,它们都是容器适配器类型,stack是用vector/deque/list对象创建了一个先进后出容器;queue是用deque或list对象创建了一个先进先出容器;priority_queue是用vector/de 阅读全文

posted @ 2018-10-22 17:29 阿牧路泽 阅读(330) 评论(0) 推荐(0)

摘要: 一、String类 string类本不是STL的容器,但是它与STL容器有着很多相似的操作,因此,把string放在这里一起进行介绍。之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函 阅读全文

posted @ 2018-10-22 16:04 阿牧路泽 阅读(683) 评论(0) 推荐(0)

摘要: 一、STL算法分类 STL中的算法大致可以分为以下七类: 不变序列算法 变值算法 删除算法 变序算法 排序算法 有序区间算法 数值算法 大多重载的算法都是有两个版本的 用 “==” 判断元素是否相等, 或用 “<”来比较大小。 多出一个类型参数 “Pred” 和函数形参 “Pred op” : 通过 阅读全文

posted @ 2018-10-22 15:22 阿牧路泽 阅读(202) 评论(0) 推荐(0)

摘要: 1、基本概念 适配器, 在STL中扮演着转换器的角色,本质上是一种设计模式,用于将一种接口转换成另一种接口,从而是原本不兼容的接口能够很好地一起运作。适配器不提供迭代器。 2、基本类型 根据目标接口的类型,适配器可分为以下几类: (1) 改变容器的接口,称为容器适配器; (2)改变迭代器的接口,称为 阅读全文

posted @ 2018-10-22 15:11 阿牧路泽 阅读(627) 评论(0) 推荐(0)

摘要: 一、仿函数(函数对象) 仿函数又称函数对象,函数对象首先是一个对象,即某个类的实例。其次,函数对象的行为和函数一致,即是说可以像调用函数一样来使用函数对象,如参数传递、返回值等。这种行为是通过重载类的()操作符来实现的。 【示例】 其实我们早就开始使用函数对象了,当你写下sort(v.begin() 阅读全文

posted @ 2018-10-22 15:05 阿牧路泽 阅读(568) 评论(0) 推荐(0)

摘要: 一、迭代器 迭代器(iterator):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”。 迭代器模式:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。 STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶着剂(iterator 阅读全文

posted @ 2018-10-22 14:27 阿牧路泽 阅读(237) 评论(0) 推荐(0)