![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 90
孔子-说
成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!
屡战屡败,屡败屡战
失败是我无奈的宿命
坚韧是我不屈的灵魂
展开
-
算法:常见的位操作bit manipulation
特殊数字的16进制与二级制对应关系0xaaaaaaaa = 10101010101010101010101010101010(偶数位为1,奇数位为0) 0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1) 0x33333333 = 110011001100110011001100110011 (1和0每隔两位交替出现) 0x...原创 2019-11-01 16:07:10 · 706 阅读 · 0 评论 -
算法:查找多数元素
题目找出一个数组中占50%以上的元素,即寻找多数元素,并且多数元素是一定存在的假设。分析对数组的操作,一般会要求时间复杂度和空间复杂度。所以,最常用的方法就是设置两个指针,分别指向不同的位置,不断调整指针指向来实现O(N)时间复杂度内实现算法。常见的面试题有:拼接一个最大/小的数字、合并两个有序数组、调整数组顺序使奇数位于偶数前面、查找多数元素、数组中的重复元素。思路1:将数组排序...原创 2019-11-01 15:16:48 · 1567 阅读 · 0 评论 -
算法:把数组排成最小的数
题目输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路我们需要定义一种新的比较大小规则,数组根据这个规则可以排成一个最小的数字。排序规则:两个数字m和n,我们比较mn和nm的大小,确定在新的比较规则下n和m的大小关系,以确定哪个应该排在前面。步骤:将...原创 2019-11-01 15:04:08 · 230 阅读 · 0 评论 -
算法:打印出所有的 "水仙花数 "
题目打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。思路分别获取百、十、个位数字,进行三次方运算,与该数比较是否相同JAVA实现public class Shuixianhua { public static void main(String[...原创 2019-11-01 14:58:45 · 1056 阅读 · 0 评论 -
算法:素数
题目判断101-200之间有多少个素数,并输出所有素数。分析判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 JAVA实现public class Sushu { public static void main(String[] args) { int count = 0; System.out.print...原创 2019-11-01 14:53:20 · 159 阅读 · 0 评论 -
算法:将一个正整数分解质因数
题目将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。分析对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。 如果n不能被k整除,则用k+1作...原创 2019-11-01 14:43:57 · 2488 阅读 · 0 评论 -
算法:给定一个整型数组,找出两个整数为指定整数的和
题目给定一个整型数组,是否能找出其中的两个数使其和为某个指定的值?(假定是无序数组)解法一:暴力破解(穷举法,不提倡)/** * 给定一个整型数组,是否能找出其中的两个数使其和为某个指定的值?(假定是无序数组) * 暴力破解 (穷举,时间复杂度:O(n^2),正常不会用这个,假如只是为了快速解题,对时间没有限制,用这个最简单) * * @param nums 无序整形数组 ...原创 2019-11-01 13:20:56 · 1799 阅读 · 0 评论 -
算法:神奇的斐波那契数列
问题来源1202年,意大利数学家Leonardo Fibonacci提出了这样一个问题:在最佳条件下,一年里,一对兔子能繁殖多少对兔子?这个理论实验规定,母兔总是生下成对的兔宝宝,每对由一公一母组成。两只新生的兔子被安置在一个有围栏的院子里,然后让像正常兔子一样繁殖。长到一个月才能开始繁殖,所以第一个月只有一对兔子。在第二个月月底,母兔产下两只兔子。当第三个月到来时,原来的一对兔子又产了一对新...原创 2019-11-01 11:26:06 · 522 阅读 · 0 评论