51信用卡2018校园招聘编程题学习

来源:互联网 发布:淘宝金牌买家的信用分 编辑:程序博客网 时间:2024/05/01 00:56

1.数据中包含u51的个数

题目描述:

有一个长度是200000的队列,队列中的元素均为字符串,现需要创建3个线程分别取出队列中的元素,并查找元素中是否含有字符串u51,如果含有该字符串,则计数器加1,直到队列元素都取出完,输出含有字符串u51的个数。

输入描述:

200000行字符串数据,可以是个文件作为队列输入。

输出描述:

所有数据中包含u51的个数

输入:

u51Abc

输出:

import java.io.BufferedReader;import java.io.InputStreamReader;public class Text10 {public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int count = 0;StringBuffer sb = new StringBuffer();//读到响应的ASCII码转成char,sb里面存3个char型变量sb.append((char) br.read());sb.append((char) br.read());sb.append((char) br.read());//让sb中只保留3个值,每经过一次删掉第一个值然后在末尾增加一个值,然后匹配当前字符串是否//和"u51"相等,如果相等则count++,最后返回的count值即为"u51"的个数while (br.ready()) {if (sb.toString().equals("u51")) {count++;}sb.delete(0, 1);sb.append((char) br.read());}System.out.println(count);}}

2.选票

设计一个算法,给定一组带权重的选票,计算出当选者。若有多个候选人加权后的分数相同,得票最多的候选人获胜。(忽略多个候选人票数与加权和均相同的情况)

输入描述:

输入第一行为选票数组v[0..n-1],第二行为权重数组w[0..n-1]。v中元素代表选举中该选票所投给的候选人ID(整数表示),w中对应下标的元素代表该选票所具有的权重(整数表示),其中0<n<=10000。

输出描述:

当选的候选人ID
思路:用map记录的Key记录候选人的ID,用Value记录候选人的权重。并且用map2来统计候选人的得票数量,key用来记录候选人的ID,Value来统计候选人的次数(主要是为了防止加权后分数相同的情况)。最后遍历输出结果。

import java.util.Scanner;import java.util.TreeMap;public class Text5 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()){String v=sc.nextLine().trim();String w=sc.nextLine().trim();String[] vv=v.split(" ");String[] ww=w.split(" ");TreeMap<String,Integer> map=new TreeMap<String,Integer>();TreeMap<String,Integer> map2=new TreeMap<String,Integer>();for(int i=0;i<vv.length;i++){if(map.containsKey(vv[i])){map.put(vv[i], map.get(vv[i])+Integer.parseInt(ww[i]));map2.put(vv[i],map2.get(vv[i])+1);}else{map.put(vv[i], Integer.parseInt(ww[i]));map2.put(vv[i], 1);}}int max=0;int re=0;for(String s:map.keySet()){if(max<map.get(s)){max=map.get(s);re=Integer.parseInt(s);}else if(max==map.get(s)){if(map2.get(re+"")<map2.get(s)){re=Integer.parseInt(s);}}}System.out.println(re);}}}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我和暴君有个崽 荒野求生我靠传播非遗爆红全世界 肆意难撩 女尊之夫郎他娇软又呆萌 穿书后,小茶精在疯批怀里撒娇 拯救六界从谈恋爱开始 重生后前世宿敌说要养我 她的沙雕又暴露了 在虐文里绑定了男主系统 我在末世成了领主大人 玄学老祖上综艺后轰动全球了 我继承了老公的神位 仵作掌中娇 世子爷她不可能是女的 穿进红楼后,我成了人生赢家 假死后夫人她称霸黑莲界 奶萌小团宠她觉醒了种田系统 巨星的大佬青梅 总裁的小撩精又生气了 开荒种田:农门辣妻有空间 签到后,小白花她在娱乐圈翻红了 江月照 魂飞魄散的上古大仙在修真界诈尸 快穿:大佬她又抢了反派剧本 夫人她总想逃 穿成阴戾反派未来嫂嫂 上神大人他偏甜系啊 咸鱼后妈带崽在综艺当对照组 系统BUG让我成了舔包专业户 快穿:系统有的是力气和手段 当我的霸总老公有了读心术 穿成炮灰渣妻后我和反派开农场 前任小姐姐帅又飒 弄潮1990从厂长开始 光阴之外 心动侵占 重回逃荒开端,手握空间来逆袭 重生之网红教父 蛮荒求生:反派大佬被迫种田 玄学大佬在星际重建地府 总裁又惹火夫人了