题目: 求1到1亿间的质数或素数 思路: 什么是质数? 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他…
分类:数组相关算法
(算法)求矩阵转置
题目: 编写一个函数,输入为一个矩阵,打印这个矩阵转置后的结果。 例: 输入矩阵是 1,2,3,4 5,6,7,8 9,10,11,12 13,14,15,16 打印结果应该是 13,9,5,1 14,10…
(算法)和为0的最大连续子数组
题目: 和为零的最大连续子数组 思路: 我首先想到的是前缀数组和,遍历一遍数组,计算出sum[i](表示从0-i的子数组之和)。 有了前缀数组和,只要sum[i]=sum[j](i<j),那么区间[i+1,j]就是…
(算法)Partition方法求数组第k大的数
如题,下面直接贴出代码: #include <iostream> using namespace std; int Partition(int* A,int left,int right){ int key=…
(算法)AA制
题目: A、B、C、D四个人去吃大餐,吃饭去说好,付钱时AA制,但最后结账时,因为4个人带的钱不一样多,最后A付了112元,B付了86元,C付了10元,D没带钱,所以没有付; 但AA制需要平摊餐费,所以需要设计一种方案来…
(笔试题)如何判断数组中是否存在重复元素
题目: 假设数组a有n个元素,元素的取值范围为1~n,如何判定数组是否存在重复元素? 思路: 方法1: 数组排序,比较相邻元素是否相等; 时间复杂度:O(nlogn),空间复杂度:O(1) 方法2: 使用bitmap(位…
( 笔试题)只出现一次的数
题目: 1、给定一数组,数组中的数字均为int类型,除了一个数出现一次,其他都出现了两次,请找出这个数; 2、给定一数组,数组中的数字均为int类型,除了一个数出现一次,其他都出现了三次,请找出这个数; 思路: 这两道题…