随笔分类 -  02ACM算法

摘要:问题描述:快速找到未知长度的单链表的中间结点 普通方法:首先遍历一遍单链表,以确定单链表的长度L,然后再从头结点出发,循环L/2次,找到单链表的中间结点。 高效算法(快慢指针):设置两个指针,*search,*mid都指向单链表的头结点。其中*search指针的移动速度是*mid指针移动速度的2倍。 阅读全文
posted @ 2018-11-02 19:15 无心小男 阅读(489) 评论(0) 推荐(0)
摘要:本内容转自:https://www.cnblogs.com/Kobe10/p/6306183.html#undefined,参考:https://blog.csdn.net/zzran/article/details/8108787 为了方便加深印象,自己又照着重新写了一遍。人家这篇博客写的有思想、 阅读全文
posted @ 2018-09-21 16:33 无心小男 阅读(336) 评论(1) 推荐(0)
摘要:http://dongxicheng.org/structure/prime/ 1. 素数判定问题 素数判定问题是一个非常常见的问题,本文介绍了常用的几种判定方法。 2. 直观判断 素数的定义是,除了能被1和它本身整除而不能被其他任何数整除的数。根据素数定义 只需要用2到n-1去除n,如果都除不尽, 阅读全文
posted @ 2018-07-10 08:54 无心小男 阅读(16245) 评论(3) 推荐(4)
摘要:欧几里德算法又称为辗转相除法,用于计算两个非负整数的最大公因数。结果的正确性源于a与b的最大公约数c也是a%b的公共约数 (转载:拓展欧几里得 https://blog.csdn.net/zhjchengfeng5/article/details/7786595) 阅读全文
posted @ 2018-06-18 20:02 无心小男 阅读(286) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 typedef struct flightnode{ 6 char flight_num[10]; //航班号 7 char start_time[10]; //起飞时间 8 char end_time[10]; //抵达时间 9 ... 阅读全文
posted @ 2017-12-10 10:25 无心小男 阅读(1846) 评论(3) 推荐(1)
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 #define OK 1 6 #define ERROR 0 7 #define OVERFLOW -2 8 typedef int Status; 9 #define MAXSIZE 100 10 //定义串结构体 11 t... 阅读全文
posted @ 2017-10-15 23:01 无心小男 阅读(363) 评论(0) 推荐(0)
摘要:1 #include 2 #define M 2000000 3 char A[2000000]={"\0"}; 4 int S[150001]={0}; 5 int main() 6 { 7 int m,n,i,j,k=0; 8 for(i=2;i<M;i++) 9 if(!A[i]) 10 { 11 f... 阅读全文
posted @ 2017-09-18 22:35 无心小男 阅读(147) 评论(0) 推荐(0)