algorithm
acceptit8
这个作者很懒,什么都没留下…
展开
-
常见算法:反转单链表
单链表的反转单链表反转的思路代码易错点疑点单链表反转的思路使用3个指针,分别指示当前节点,当前节点的前一个节点,以及后一个节点。初始化前一个节点为空。当节点个数大于1时,每遍历一个节点,更新它的next指针指向前一个节点。同时更新前一个节点和后一个节点。直至当前节点指针为空,返回前一个节点的指针。代码#include <iostream>using namespace std;struct Node { int value; Node *next; Node() { }原创 2020-08-23 22:59:03 · 260 阅读 · 0 评论 -
回旋连续整数打印
问题:顺时针打印连续自然数,实现原创 2014-11-11 10:51:34 · 1028 阅读 · 0 评论 -
经典问题-老鼠走迷宫问题求解
问题:现在有一个使用二维矩阵阵列表示的迷宫,矩阵使用数字1表示道路,2表示障碍物(如墙壁)。指定迷宫入口和出口的二维坐标位置,寻找一个通过迷宫的路径。解决思路:指定前进时探索的方向顺序,比如先试探上方是否可走,按照上下左右的顺序试探前进。当碰到障碍物时,退后并切换前进顺序。直至到达终点。该方案使用穷举法寻找可行路径,不一定能找到最佳路径。代码:运原创 2015-01-14 15:20:59 · 1467 阅读 · 0 评论 -
常用链表操作(1)-链表创建
链表相比较数组等线性存储结构,具有可以使用非连续存储空间的优势。同时,还有如下优点:链表的插入和删除操作不用移动元素,适合经常需要改变元素的操作。链式存储可以方便的通过指针来操作,具有双线指针的存储结构可以较快的进行数据的访问。此种情况试用于双向链表。创建链表的算法基本流程为:1 分配节点空间,使用头指针 headP指向该空间地址。若分配失败,则返回错误信息。2 存储节原创 2015-02-28 22:03:20 · 1525 阅读 · 0 评论 -
O(n) 时间的算法进行分数排名
一 问题描述遇到一个常见的分数排名问题,原题的要求是: 已知一个分数数组,数组里面是取值在0-100之间的分数,记为scoreArray。要求输出对应的排名数组scoreRankArray。 算法的时间复杂度需要做到O(n)级别原创 2017-03-22 19:36:32 · 1376 阅读 · 0 评论 -
生成符合图片大小及长宽限制的缩略图片
iOS中,经常需要在列表显示图片的缩略图。在分享图片到微信和QQ好友时,不仅有长宽限制,而且有大小限制。 本函数使用大小缩小,JPEG压缩的方式,递归生成符合指定大小,长宽限制的UIImage缩略图。//Generate a preview image which conforms the defined size and scale limit+ (UIImage *)genPreviewIm原创 2017-03-15 10:51:47 · 1368 阅读 · 0 评论 -
去除字符串的首尾空格字符
在文本框中输入字符时,经常需要过滤掉首尾的空格字符,比较常用的功能,特总结分享,供查询和备用。//去掉头尾空格或换行符+ (NSString *)trimHeaderTrailSpace:(NSString *)target{ if(!target) { return @""; } NSMutableString *result = [[NSMutableS原创 2017-03-15 09:28:03 · 1711 阅读 · 0 评论