【234天】我爱刷题系列(1)
叨叨两句
今晚组织夜跑去^_^
新开一个系列,未来这个系列就用来记录值得记录的编程题。
题1
题目描述
书写一个类,类名为Tencent;
类中有一个方法,方法名firstChar;
给定一个非空字符串数组,为每个不同的第一个字符返回一个Map ,
键为字符串的首个字符,值为含有该键首个字符的所有字符串进行追加,例如:["salt","tea","soda","toast"]字符串数组
返回结果是{“t”:"teatoast","s":"saltsoda"},键是不同字符串的首个字符,值是按它们在数组中的顺序追加在一起。
提示
方法调用 | 期望值 |
---|---|
firstChar(["salt","tea","soda","toast"]) | {"t":"teatoast","s":"saltsoda"} |
firstChar(["aa","bb","cc","aAA","cCC","d"]) | {"d":"d","b":"bb","c":"cccCC","a":"aaaAA"} |
firstChar([]) | {} |
import java.util.HashMap;
import java.util.Map;
public class Tencent{
public Map<String,String> firstChar(String[] arr){
Map<String,String> map = new HashMap<>();
for(int i = 0; i < arr.length; i++){
//获取首字符
char c = arr[i].charAt(0);
String s = "" + c;
//如果首字符集合中没有,直接添加,如果有,拼接字符串后添加
if(!map.containsKey(s)){
//凉风夜正好,月下谁家年少,念马新城,忽忆故人,月半梢,人在扰,我正来,你可好?
map.put(s,arr[i]);
} else {
String newStr = map.get(s) + arr[i];
map.put(s, newStr);
}
}
// return toString(map);
return map;
}
}
题2
题目描述
书写一个类,类名为Tencent;
类中有一个方法,方法名makePi;
返回一个包含pi(参考Math.PI)的前n位数字的整数数组长度,n为方法接收的参数。
例如:n为3,则返回{3,1,4}。
提示
方法调用 | 期望值 |
---|---|
makePi(1) | [3] |
makePi(2) | [3,1] |
makePi(3) | [3,1,4] |
public class Tencent{
public int[] makePi(int length){
int[] result = new int[length];
for(int i=0;i<length;i++){
result[i] = (int) (Math.PI*(Math.pow(10, i))%10);
}
return result;
}
}
题3
题目描述
书写一个类,类名为Tencent;
类中有一个方法,方法名start1;
有两个任意长度的整型数组, 返回有多少个数组有1作为他们的第一个元素。
提示
方法调用 | 期望值 |
---|---|
start1([1,2,3],[1,3]) | 2 |
start1([7,2,3],[1]) | 1 |
start1([1,2],[]) | 1 |
public class Tencent{
public int start1(int[] arr1 , int[] arr2){
int start1 = isStart1(arr1) + isStart1(arr2);
return start1;
}
public static int isStart1(int[] arr){
if(arr == null ||arr.length == 0||arr[0] != 1){
return 0;
}else {
return 1;
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。