目录
学习内容:
LintCode刷题:
·求数组最大值
sort排列后取最后一个即可
import java.util.Arrays;
public class Solution {
public int getMax(int[] array) {
Arrays.sort(array);
return array[array.length-1];
}
}
·打印梅兰竹菊代表的品性
直接调用方法即可
public class Solution {
public void printCharacter(PropertyEnum s) {
switch (s) {
case PlumBlossoms:
System.out.println(
"PlumBlossoms: A noble man who explores the waves and the snow");
break;
case Orchid:
System.out.println(
"Orchid: A sage of the world, the fragrance of the deep valley");
break;
case Bamboo:
System.out.println("Bamboo: A gentleman of modesty and elegance");
break;
case Chrysanthemum:
System.out.println("Chrysanthemum: A hermit of the world");
break;
}
}
public void textCharacter() {
printCharacter(PropertyEnum.PlumBlossoms);
printCharacter(PropertyEnum.Orchid);
printCharacter(PropertyEnum.Bamboo);
printCharacter(PropertyEnum.Chrysanthemum);
}
}
· 逆序输出字符串
先把字符串转换成为char数组,然后调换顺序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
char[] chars=str.toCharArray();
for (int i =0;i<chars.length;i++){
chars[i]=str.charAt(chars.length-i-1);
}
System.out.println(String.valueOf(chars));
}
}
可以转换成StringBuffer,再使用StringBuffer的反转方法达到题目效果
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
StringBuffer stringBuffer=new StringBuffer(str);
stringBuffer=stringBuffer.reverse();
System.out.println(stringBuffer);
·判断一个整数是否为水仙花数
再类里面写私有类可以直接调用类的私有变量,十位数字可以使用(num/10)%10来获取
public class Solution {
private int num;
public Solution(int num) {
this.num = num;
}
public boolean testDaffodils() {
Daffodils daffodils = new Daffodils();
boolean boolean2 = daffodils.isDaffodilNumber();
return boolean2;
}
private class Daffodils {
private boolean isDaffodilNumber(){
if (num<100||num>999)
return false;
else{
int a=num%10;
int b=num/10%10;
int c=num/100;
return num==a*a*a+b*b*b+c*c*c;
}
}
}
}
·分区数组
首先判断 数组是否为空和数组长度能否被n整除,不符合条件的全部都返回false,然后只需要判断相同元素长度是否大于n即可。
map->延伸(缺)
map.putIfAbsent():放入位置有值时不会改变原有值
map.put:直接放入如果原来有值直接替换
import java.util.HashMap;
public class Solution {
public boolean PartitioningArray(int[] A, int k) {
if (A.length==0)
return true;
if (A.length%k!=0)
return false;
HashMap<Integer,Integer>map=new HashMap<Integer, Integer>();
int maxCount=0;
for (int i =0;i<A.length;i++){
map.putIfAbsent(A[i],0);
map.put(A[i],map.get(A[i])+1);
maxCount=Math.max(map.get(A[i]),maxCount);
}
return maxCount<=k;
}
}
学习时间:
2021-8-31 9:00-11:45、13:30-17:30
学习产出:
学习博客*1
刷题*5