摘要:
本文是我用到swap函数时,对其产生好奇,所以结合网上有关博文写下的。个人水平有限,若有错误的地方,欢迎留言指出。谢谢! 一、通用的函数交换模板 T为类型,可根据实际需要使用相应的类型 二、针对int类型的优化 使用异或,整数异或本身为结果0;一个数异或0结果为本身; 三、自定义swap时,注意事项 阅读全文
摘要:
题:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 方法一:O(n)的算法,不过要改变数组。 思路:利用快排的思想,以最后一个元素为基准,将数组一分为二,左边小于基准,右边大于基准,完成一次趟分割,基准的下标为index,这 阅读全文
摘要:
题:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路:常规思路是先排序,(若有)取中间值即可,时间复杂度为O(nlogn)。定义两个 阅读全文