2018--8.30--招商银行信用卡IT方向--笔试

题型:15道单选,5道不定项选择题,3道编程,3道问答

  选择、问答基本都是java的知识

 

第一道编程题:

题目描述:

农场有n只鸡鸭排成一个队伍,鸡用“C”表示,鸭用“D”表示,当鸡鸭挨着时会产生矛盾。需要对所排的队伍进行调整,使鸡鸭各在一边,每次调整都只能让相邻的鸡和鸭交换位置,现在需要尽快完成队伍调整,你需要计算出最少调整多少次可以让上述情况最少。

输入描述:

输入一个长度为N,且只包含C和D的字符串

输出描述:

是的最后仅有一堆鸡鸭相邻,最少的交换次数

示例:

输入:CCDCC

输出:2

#include 
#include 
#include

using namespace std;



int main()
{
	char input[10000];
	vector arr;
	gets(input);
	int length = 0;
	int count = 0;
	int count1 = 0;
	while (input[length] != '\0')
	{
		arr.push_back(input[length]);
		length++;
	}
	for (int i = 0; i < length - 1; i++)
	{
		for (int j = i + 1; j < length; j++)
		{
			if (arr[j]>arr[i])
				count++;
			else if (arr[j]

第二题编程:

题目描述:

给定一个正整数数组,他的第i个元素是比特币第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一次),设计一个算法来计算你所能获得的最大利润。注意你不能在买入比特币之前卖出。

输入描述

正整数数组,为以空格分割的n个正整数

输出描述

最大利润

示例:

输入:7 1 5 3 6 4

输出:5

#include
#include
using namespace std;

int maxProfit(vector& prices)
    {
        int p=0,n=prices.size();
        for(int i=0;ip?(prices[j]-prices[i]):p;
            }
        return p;
    }

int main()
{
	int a,res;
	vector v;
	while(cin>>a)
	{
	v.push_back(a);
	}
	res=maxProfit(v);
	cout<

第三题编程

题目描述:

小招喵喜欢吃喵粮。这里有N堆喵粮,第I堆中有p[i]粒喵粮。喵主任离开了,将在H小时后回来。小招喵可以决定他吃喵粮的速度K(单位:粒/小时)。每个小时,她将会选择一堆喵粮,从中吃掉K粒。如果这堆喵粮少于K粒。她将吃掉这堆的所有喵粮,然后这一小时内不会再吃更多的喵粮

小招喵喜欢慢慢吃,但仍想在主人回来前吃掉所有的喵粮。返回她可以在H小时内吃掉所有喵粮的最小速度K(K为整数)

输入描述:

第一行输入为喵粮数组,以空格分割的n个整数

第二行输入为H小时数

输出描述:

最小速度K

示例:

输入:3 6 7 11

             8

输出:4

#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int main()
{

	vector arr;
	int x;
	while (cin >> x)
	{
		arr.push_back(x);
	}
	int len = arr.size();
	int H = arr[len - 1];
	int N = len - 1;
	int k = 1;
	while (1)
	{
		int sum = 0, xx = 0;
		for (int i = 0; i < N; i++)
		{
			xx = arr[i] / k;
			if (arr[i] % k != 0)
				xx++;
			sum = sum + xx;
		}
		if (sum > H)
			k++;
		else
			break;
	}
	cout << k;
	return 0;

}

 

你可能感兴趣的:(求职)