优快云 编程竞赛·第六期 总结

优快云编程竞赛报名地址:https://edu.youkuaiyun.com/contest/detail/16
(请不要删掉此地址)

前言/背景

第一次参加这个比赛,总的来说还是比较简单的,但是相对的,发现有人六分钟就做完了,再看看自己,六分钟题都没有读完,这就让我尴尬了。

参赛经历

这次的题还是比较简单的,我都是按照最笨的办法做的。
因为是星期天,由于有其他事情,我就做了两个题。全程java语言

第一题: X国最近开始严管枪火。 像是“ak”,“m4a1”,“skr”。都是明令禁止的。 现在小Q查获了一批违禁物品其中部分是枪支。小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)
//直接本办法 通过equals比较就行
public static int solution(int n, ArrayList<String> vector){
	int result = 0;
	for(int i = 0; i < n; i++){
		if(vector.get(i).equals("ak") || vector.get(i).equals("m4a1") || vector.get(i).equals("skr")){
			result++;
		}
	}
	return result;
}
第二题: 鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理, 但是这次鬼艺接手了, 你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗?
//思路 把数据添加到map 如果map有就加一 没有就1
public static String solution(int n, ArrayList<String> vector){
	String result = "";
	// TODO: 请在此编写代码
	HashMap<String,Integer> map = new HashMap<>();
	int maxCount = 0;
	for(int i = 0; i < n; i++){
		String tmp = vector.get(i);
		//System.out.println(" test:"+tmp+" map:"+map.get(tmp));
		if(map.get(tmp) != null){
			int tmpMax = map.get(tmp)+1;
			//System.out.println(" tmpMax:"+tmpMax);
			map.replace(tmp,tmpMax);
			if(tmpMax > maxCount){
				maxCount = tmpMax;
				result = tmp;
			}
		}else{
			map.put(tmp,1);
			if(1 > maxCount){
			maxCount = 1;
			result = tmp;
			}
		}
	}
	return result;
}
第三题:已知字符串str,str表示邮箱的不标准格式。 其中”.”会被记录成”dot”,”@”记录成”at”。 写一个程序将str转化成可用的邮箱格式。(可用格式中字符串中除了开头结尾所有”dot”,都会被转换,”at”只会被转化一次,开头结尾的不转化)

这个我没做,但是我看了,我想的是直接用StringBuder,dot和at分开处理,dot先全部转换(转换方式:通过子串匹配,如何移除以前的,如何把点加入), 转换之后再看前后是否是点,是就转换成dot。对于at,直接从第二个字符找第一个at,然后转换就行(邮箱格式正确那么中间一定有at)。

第四题: 没看 哈哈
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值