摘要:
算法:高精度运算 高精度加法 A+B A/B中存放的是大正整数的每一位,并且是倒序存放的 :如:"12345678" >[6,5,4,3,2,1] // C = A + B vector<int> add(vector<int> &A, vector<int> &B) { vector<int> C 阅读全文
摘要:
题解:第k个数 第k个数 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~109109范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数据范围 1≤n 阅读全文
摘要:
二分查找算法 二分查找算法是一个非常常用的算法,也能解决很多问题,只要在一个区间内存在一个元素,使得这个数的左边满足某种性质,但是右边不满足这个性质,就可以用二分查找算法找出这个元素。 整数的二分查找 整数的二分查找会产生很多的边界问题 bool check(int); int bsearch_1( 阅读全文
摘要:
排序算法:快速排序和归并排序 快速排序和归并排序是排序算法里十分常用的两个排序,二者的代码复杂度差不多,并且都应用了分治法的思想。 复杂度 排序算法 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 快速排序 O(nlogn) O(n²) O(nlogn) O(1) 不稳定 归并排 阅读全文