• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
煎蛋啊
博客园    首页    新随笔    联系   管理    订阅  订阅
上一页 1 2 3 4 5 下一页
2017年3月25日
C++中map的用法
摘要: map的特性是,所有元素都会根据元素的减值自动被排序。map的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一个元素会被视为键值,第二个元素会被视为实值。map不允许两个元素拥有相同的键值。 下面看一下<stl_pair.h>中的pair定义: template <c 阅读全文
posted @ 2017-03-25 15:52 煎蛋啊 阅读(89401) 评论(1) 推荐(3)
字符串分类问题(牛客第二场笔试)
摘要: 牛牛有N个字符串,他想将这些字符串分类,他认为两个字符串A和B属于同一类需要满足以下条件:A中交换任意位置的两个字符,最终可以得到B,交换的次数不限。比如:abc与bca就是同一类字符串。现在牛牛想知道这N个字符串可以分成几类。 阅读全文
posted @ 2017-03-25 14:39 煎蛋啊 阅读(1699) 评论(0) 推荐(0)
平衡数问题
摘要: 牛牛在研究他自己独创的平衡数,平衡数的定义是:将一个数分成左右两部分,分别成为两个新的数。左右部分必须满足以下两点:1,左边和右边至少存在一位。2,左边的数每一位相乘如果等于右边的数每一位相乘,则这个数称为平衡数。例如:1221这个数,分成12和21的话,1*2=2*1,则称1221为平衡数,再例如 阅读全文
posted @ 2017-03-25 14:37 煎蛋啊 阅读(8757) 评论(0) 推荐(0)
2017年3月23日
重复值判断练习题
摘要: 请设计一个高效算法,判断数组中是否有重复值。必须保证额外空间复杂度为O(1)。 给定一个int数组A及它的大小n,请返回它是否有重复值。 测试样例:[1,2,3,4,5,5,6],7 返回:true 因为这道题对空间复杂度有要求,所以想用非递归堆排序。 #include <iostream> #in 阅读全文
posted @ 2017-03-23 14:40 煎蛋啊 阅读(387) 评论(0) 推荐(0)
小范围排序
摘要: 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。给定一个int数组A,同时给定A的大小n和题意中的k,请返回排序后的数组。测试样例:[2,1,4,3,6,5,8,7,10,9],1 阅读全文
posted @ 2017-03-23 11:35 煎蛋啊 阅读(342) 评论(0) 推荐(0)
2017年3月22日
堆排序
摘要: 堆排序基本思想(最大堆): 1. 将初始待排序关键字序列(R1,R2....Rn)构建成最大堆,此时堆为初始的无序堆; 2. 将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,......Rn-1)和新的有序区(Rn),且满足R[1,2...n-1]<=R[n]; 3. 阅读全文
posted @ 2017-03-22 21:26 煎蛋啊 阅读(273) 评论(0) 推荐(1)
基数排序
摘要: 基数排序的基本思想: 原理类似桶排序,这里总是需要10个桶,多次使用 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 然后再以十位的值进行装桶 最后在以百位的值进行装桶 这样倒出的值为011 014 023 072 084 101 对于一个int数组,请编写一个 阅读全文
posted @ 2017-03-22 17:34 煎蛋啊 阅读(434) 评论(0) 推荐(1)
计数排序
摘要: 基数排序基本思想:计数排序是一个类似于桶排序的排序算法,其优势是对已知数量范围的数组进行排序。它创建一个长度为这个数据范围的数组C,C中每个元素记录要排序数组中对应记录的出现个数。 对于上述例子,认为人的身高在100cm--300cm之间,然后建立200个桶(pail),桶中存的是对应元素的个数,即 阅读全文
posted @ 2017-03-22 17:02 煎蛋啊 阅读(181) 评论(0) 推荐(0)
希尔排序
摘要: 希尔排序基本思想:首先将待排序的元素分成多个子序列,使得每个子序列的元素个数相对较少,对各个子序列分别进行直接插入排序,待整个待排序序列基本有序后,在对所有元素进行一次直接插入排序。 1. 选择一个步长序列t1,t2,...,tk,满足ti>tj(i<j),tk=1; 2. 按步长序列个数k,对待排 阅读全文
posted @ 2017-03-22 15:44 煎蛋啊 阅读(347) 评论(1) 推荐(1)
快速排序
摘要: 快速排序基本思想: 1. 分解:将输入的序列array[m,....,n]划分成两个非空子序列array[m,....,k]和array[k+1,....,n],使得array[m,....,k]中的任一元素的值不大于和array[k+1,....,n]中的任一元素的值。 2. 递归求解:通过递归调 阅读全文
posted @ 2017-03-22 11:29 煎蛋啊 阅读(221) 评论(0) 推荐(1)
上一页 1 2 3 4 5 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3