光**游戏2**9届校招笔试题-JAVA编写

2018/8/16更新----笔试挂了,大家以下文章大家就当看着玩吧。。。。。。。。。。。。

 

 

说实话,光宇的笔试题不难,暑假在家天天玩。。基本的东西都忘记了,明天还有网易游戏的笔试。。。感觉要凉凉了,光宇笔试总共有两道题目,时间为80分钟(题目没有截图,只说下我记住的内容)

第一题:

对于给定数组,求任意两个数的乘积,最后输出最大的成绩,要求比较次数最小

如{1,2,5,8,-10,-100,20,20} 最大的积为1000 = -10*-1000

/*c++解题思路:
*将数组及数组长度传入判断函数,函数内对莫一项及其后面所有项进行乘法运算
*最终得到最大成绩
**/

#include
#include
using namespace std;

void FindMaxPro(int *num,int size);//查找最大积的函数声明

void main(){
	int num[]={1,2,5,8,-10,-100,20,20};//给定的数组
	
	FindMaxPro(num,8);//函数调用
}

//查找最大积的函数
//num 数组  size数组长度
void FindMaxPro(int *num,int size){

	int i,j;
	long max=0;
	for(i=0;i<(size-1);i++){//数组内的某一项与其后各项进行相乘,将较大的数保存最后输出
		for(j=i+1;j<(size-1);j++){
			if(max

第二题

已知如下怪物信息及怪物数组,击杀怪物获得金币,求获取的最大金币数,击败怪物总时间限制在40分钟,如70=24+23+23

(PS自以为是的考察内容:面向对象中类内数据的获取)

class Monster {
    // 打败花费的时间(分钟)
    int costMinTime;
    // 掉落金币数量
    int coinNum;
    Monster(int costMinTime, int coinNum) {
        this.costMinTime = costMinTime;
        this.coinNum = coinNum;
    }
}

//怪物数组
        Monster[] mosters = new Monster[] {

                new Monster(12, 24),
                new Monster(18, 20),

               new Monster(19, 20),

               new Monster(25, 30),
               new Monster(10, 23),

               new Monster(10, 23) };

//获取最大金币的函数

int wonMaxCoin(Monster [] mosters)

/*java解题思路:
*在wonMaxCoin函数中,按全排列的方式选定三个怪物,每次将打败三个怪物花费
*的时间costMinTime进行相加,当该时间小于40分钟时计算击败这三个怪物所得的金币数量
*计算后保存,便于下次循环与另外的排列方式进行比较,最终获取较大的金币数量
**/
package mrx_test;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//怪物数组
		Monster[] mosters = new Monster[] { new Monster(12, 24),
				new Monster(18, 20), new Monster(19, 20), new Monster(25, 30),
				new Monster(10, 23), new Monster(10, 23) };
		//输出最大金币
		System.out.println(wonMaxCoin(mosters));
		
	}
	static  int wonMaxCoin(Monster [] mosters){
		int coinSum=0;
		int coinb=0;//金币比较
		int minutes=0;
		int i,j,k;
		for(i=0;icoinSum) {coinSum = coinb;}
					//金币,时间重置用于下次循环计算
					minutes=0;
					coinb=0;
				}
			}
			
		}
		
			
		return coinSum;
		
	}
}

class Monster {
	// 打败花费的时间(分钟)
	int costMinTime;
	// 掉落金币数量
	int coinNum;
	Monster(int costMinTime, int coinNum) {
		this.costMinTime = costMinTime;
		this.coinNum = coinNum;
	}
	//获取击败时间
	public int getCostMinTime(){ return this.costMinTime;}
	//获取获得金币
	public int getCoinNum(){return this.coinNum;}
}

以上就是我的作答。。。第二题发现c++有点忘记了所以用java写的。。。发现自己编程真的好渣,希望大神指点。。。。几乎到了最后才交卷。。。。大四狗回学校不知道能不能找到工作。。。

你可能感兴趣的:(感悟,设计基础,校招)