闰年判断
根据条件写出表达式即可:
- 年份是4的倍数而不是100的倍数;
- 年份是400的倍数。
1 | package basic_try; |
01字串
两种方法
- 五层循环,一个个来
- for循环,将十进制转换成二进制即可
方法1:五层循环
1 | package basic_try; |
方法2:十进制转二进制
- for循环
- 十进制转二进制
- 填充字符串长度为5
十进制转二进制函数
1 | Integer.toBinaryString(i); |
1 | package basic_try; |
字母图形
根据分析得到,字符串的特点是,不断的右移,并且新增的字符是以A为中心的翻转。
解决:通过字符串截取和翻转共同实现。
生成A-Z字符串
输入n和m
分两种情况:
第一种:是m大于n,那么左边是翻转,右边是正常序列。
第二种:是m小于n,那么一开始同第一种,后来就都是翻转的序列了
输出
翻转字符串
是自己实现的一个函数,递归实现。每次解决最后一个字符,放到前面来,其余的递归同样解决,复杂度为O(n)。
1 | //翻转字符串函数 |
答案:
1 | package basic_try; |
另一种思路
参考别人的,非常契合题目
两层循环,一层控制输出几行,一层控制该行输出m个字符。
另外,通过字符++和字符—找到B后面的C或者B前面的A。
1 | package basic_try; |
数列特征
- 一次循环解决
- 使用ArrayList代替数组加快解决
第一种,也是我直接想到的
1 | package winter_new_try; |
ArrayList
先排序,第一个元素为最小值,最后一个元素为最大值
使用
Collections.sort(list)
进行排序直接求最大值和最小值
最大值:
Collections.max(list)
最小值:
Collections.min(list)
1 | package winter_new_try; |
查找整数
- for循环查找
- 使用list的indexof直接查找
循环
1 | package basic_try; |
indexof
1 | package basic_try; |
杨辉三角形
动态创建二维数组
1 | int [][] arr; |
exp
1 | package basic_try; |
特殊的数字
- 找到三位数的分开表述
- 三层for循环
三位数的分开表述
1 | a = i/100; |
exp1
1 | package basic_try; |
exp2
1 | package basic_try; |
对于这种与进制相关的,可以考虑循环来做,循环的条件是几进制,循环的层数是几位
回文数
这道题,网上的exp大多是比较第一位、低四位和第二位、第三位是否相同,循环从1000到9999
其实就是所有的二进制,然后后面和前面是镜面相同,所以输出所有的二进制,然后字符串翻转即可。
exp
1 | package basic_try; |
特殊回文数
牛逼哄哄的觉着,首先是循环,分循环写得劲,然后五位和六位的判断【注意:都是if】也很简单,因为要顺序排,所以六位放字符串里面存着,末尾加回车,最后输出
1 | package basic_try; |
十进制转十六进制
使用java内置的api:
String.format("%X", num)
Integer.toHexString(num)
【转大写用:toUpperCase()
】
注意:X大写则输出的十六进制都是大写,小写则小写
1 | package basic_try; |
十六进制转十进制
进制转换java都有实现好的,直接用即可。
【注意:最大二进制八位,要用long型】
1 | package basic_try; |
十六进制转八进制
有点被恶心到了,感觉和别人写的差球不多,,,但是自己的运行不通过,555
1 | package basic_try; |
照着网上的敲的
1 | package basic_try; |
嗯嗯,思路还行,,,就是内存和时间限制,,,就有问题了,,,咋也不知道,咋也不敢问。。。。
数列排序
使用list或者array的sort方法
list
1 | package basic_try; |
array
1 | package basic_try; |
经常使用的
1 | Scanner scan = new Scanner(System.in); |
1 | int n = new Scanner(System.in).nextInt(); |
1 | int [] arr = new int[n]; |
1 | for(int i =0 ;i<n;i++) { |
1 | System.out.print(list); |
1 | List<Integer> list = new ArrayList<Integer>(); |