算法
自傷無色丶
这个作者很懒,什么都没留下…
展开
-
算法题:输入年月日,输出该日期是当年的多少天
因为题目要求参数只能使用int,所以这里不讨论Java的日期特性.思路分析: 首先闰年的年份2月为29天,平年2月为28天,所以要先判断输入的年份是闰年还是平年,判断方式是:如果年份能够被4整除但不能被100整除,或者年份能被400整除,二者满足其一则为闰年,否则为平年,然后算出输入月份-1的总天数加上当前月份的天数,即得到结果。代码分析: 如果完全使用if判断,判断当前...原创 2019-03-15 22:36:51 · 3571 阅读 · 1 评论 -
算法题:找出100-999中水仙花数
此题目较简单,主要需要搞清楚什么叫做水仙花数。水仙花数是指一个 n位数,它的每个位上的数字的 n次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153,这就是一个三位的水仙花数)搞清楚了水仙花数的定义,那么此题就迎刃而解了。参考代码如下:public void findNum(){ int h=0,t=0,d=0,sum=0; for(int i=100;i<...原创 2019-03-15 23:03:40 · 773 阅读 · 0 评论 -
在排好序的数组中,找出两个数之和为m的所有下标组合
题目不难理解,举个例子int a[] = {1,2,3,4,5,6};m为6,这里1+5=6,2+4=6,所以应该返回下标0,4和1,3解题思路,因为是排好序的数组,可以利用二分查找的思想,设置数组的头尾标志,每次取数求和判断是否等于m,如果等于说明找到一组组合,输出下标,然后头标志后移,尾标志前移,不等于则有两种情况1.两数之和大于m,由于数组是排好序的,所以尾标记前移2.两数之...原创 2019-04-24 14:09:53 · 668 阅读 · 0 评论 -
判断一个数是不是2的整数次幂(Java实现)
解题思路:循环将这个数除以2,取商再除以2,每次取商后除以2判断余数是否为0,如果不为0,肯定不是2的整数次幂,直接退出,如果为0,继续循环,当这个数等于1时,退出循环说明是2的整数次幂代码如下public static boolean ispow(int i){ if(i<=1){ return false; } do{ if(i%2!=0){ r...原创 2019-04-24 16:27:30 · 1834 阅读 · 1 评论