【算法笔记】
飞天舞桐
目前在腾讯PCG做iOS开发工作,曾供职于网易、携程等。
展开
-
各种排序算法的思想、效率及实现
各种排序算法的思想、效率及实现转载 2015-10-22 16:15:54 · 523 阅读 · 0 评论 -
算法笔记--快速排序
基本思想:将当前待排序列分成两个部分、一个值。一个值:就是选定出一个值作为被比较的元素(基准数)。两个部分:所有比该被选定元素大的部分都去该元素的右边,所有比被选定元素小的部分都去该元素的左边。这样我们就确定了该元素在这个待排序列中的位置,其实也就是我们已经将这个元素“排好了”。举例:快速排序的每一轮处理其实就是将着一轮的基准数归位,直到所有的数都归位为止,排序就结束了。算法实现:int main...原创 2018-02-12 16:08:51 · 320 阅读 · 0 评论 -
算法笔记--简单桶排序
题目:假设班上有5个同学,这学期期末考试,这5个同学分别考了5分、3分、5分、2分、8分,满分是10分。接下来将分数从大到小排序,排序后是8 5 5 3 2。实现://**【简单桶排序】**//void simpleBarrelSort() { int a[11], i, j, t; for (i = 0; i < 11; ++i) { a[i] = 0;...原创 2018-02-12 14:24:24 · 323 阅读 · 0 评论 -
算法笔记--冒泡排序
基本思想:冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。时间复杂度O(N*N)算法实现://**【冒泡排序】**//void bubbleSort() { int a[10], i, j, n, t; scanf("%d", &n); for (i = 0; i < n; ++i) { scanf("%d"...原创 2018-02-12 14:46:09 · 218 阅读 · 0 评论 -
oc和swift实现算法:把 x 数字精确到小数点后第 p 位,不足 p 位补 0,然后四舍五入
题目:把 x 数字精确到小数点后第 p 位,不足 p 位补 0,然后四舍五入用Objective-C实现:///把 x 数字精确到小数点后第 p 位,不足 p 位补 0,然后四舍五入- (NSString *)number:(NSString *)x preciseDecimal:(NSUInteger)p {// 四舍五入 NSDecimalNu原创 2018-01-12 18:00:29 · 2063 阅读 · 0 评论 -
oc和swift实现算法:一个人a年b月c日出生,a,b,c三数的乘积为428575,这个人是什么时候出生的?
题目:一个人a年b月c日出生,a,b,c三数的乘积为428575,这个人是什么时候出生的?用Object-C实现://一个人a年b月c日出生,a,b,c三数的乘积为428575,这个人是什么时候出生的?- (void)p_caclueYearMonthDay { //获取当前年月日 NSDate *date = [NSDate date]; NSDateF原创 2018-01-11 17:27:29 · 1103 阅读 · 0 评论 -
BAHome:iOS 面试题收藏录
由于很多同学在面试中总是被噱,群里很多同学都要求整理一份经典的 iOS 面试题,所以,博爱就在简书开了一份面试题收藏录,专门收藏 iOS 面试的经典题目,希望能够给各位 iOS coder 一些帮助,也祝大家能够早点面试成功,顺利进入自己理想的公司! **1、把 “www.zhidao.baidu.com” 这样的字符串改成 “com/baidu/zhidao/www”** 此题目来自百度的面试转载 2017-10-30 13:39:36 · 449 阅读 · 0 评论 -
微信支付SDK中需要实现的各种算法
前言:iOS版的微信支付SDK中需要实现,随机数算法,获取时间戳,签名算法,MD5加密算法,一下是我所实现的这些算法,已经应用到项目了,都是按照微信支付文档上的要求实现的。1、随机数算法实现一个由数字和大写字母随机组成的32位长的字符串。///获取微信支付需要的随机数+ (NSString *)paymentWechatNonceString { NSArray *sam原创 2017-08-01 11:10:14 · 1906 阅读 · 0 评论