记一次在线笔试

几天前找java开发实习生的时候偶然看到某沃移动通信有限公司招收2020届提前批实习生。带着碰运气的想法投了下。结果过了简历筛选,通知今晚在线笔试,带着几分忐忑的心情开始,考核形式是在一个小时之内完成三道编程题,可以用C,C++,Java等实现,这里用的是java

总结:这次比试不难,明年今日前争取要把剑指offer,程序员面试宝典,编程之美过一遍?

第一道:完成一个函数,这个函数用来检测数组A中有的而和数组B中没有的数并输出
即假设有数组A[1,2,3,4,5],数组B[2,3],调用这个函数使得输出结果为1 4 5 (要求这要输出)

我的思路:做个标志flag,将A中每个元素遍历B中所有元素,若有相同flag=false,在遍历后判断flag是否为true,是则输出

public void solution(int[] arrayA,int[] arrayB){
	boolean flag = true;
	for(int a = 0;a < arrayA.length;a++){
		for(int b = 0;b

第二题:完成一个函数,这个函数用来将单向链表的第m个元素和第n个元素调换(输入两行的功能已经帮你实现,链表和链表的toString方法也已经帮你实现)
即输入
3 5
1,2,3,4,5
输出
1,2,5,4,3

我的思路:想尽快完成做下一题就用了种笨方法

//A
public void solution(ListNode head,int m,int n){
	ListNode corrent = head;
	ListNode first = null;			//链表m位置的前一个元素
	ListNode first1 = null;			//链表n位置的元素
	ListNode second = null;			//链表m位置的前一个元素
	ListNode second1 = null;		//链表n位置的元素
	
	//定位
	for(int a=1;a

第三题:输入三行数据,第一行是金额,第二行是售价,第三行是人气(每道题都有背景但是给忘了),要求求出可获得的最高的人气

1000
250,450,650,150,520
20,40,60,40,52
求得可获得最高人气为220(20*1+40*5)

今日时间不够,有空再补充。

你可能感兴趣的:(记一次在线笔试)