公司笔试题
赏星乐事
这个作者很懒,什么都没留下…
展开
-
[编程题] 二维数组打印
有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印。 给定一个二位数组arr及题目中的参数n,请返回结果数组。 测试样例: [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]],4 返回:[4,3,8,2,7,12,1,6,11,16,5,10,15,9,14,13]#include "stdafx.h" #include原创 2017-08-08 21:45:42 · 661 阅读 · 1 评论 -
最大乘积和
代码如下#include <bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 100050;LL a[MAXN], sum[MAXN];LL L[MAXN], R[MAXN];int n;int main (){ scanf("%d", &n); for(int i = 1;原创 2017-08-24 12:32:52 · 460 阅读 · 0 评论 -
第一题“最大”点集
代码如下#include <bits/stdc++.h>using namespace std;bool cmp(pair<int,int> first,pair<int,int> next){ return first.second>next.second; }int main(){ int n; vector<pair<int ,int> > vec; wh原创 2017-08-24 11:45:01 · 343 阅读 · 0 评论 -
阿里编程-城堡问题
题目: 将军大胜归来,夺取许多城堡(xi,yi)。国王许可,你站在任意的城堡上,选择任意视角,看得见的城堡都是你的,包括你站的城堡,但头不能动。而且你不能站在城堡构成的凸焦点上。将军的视角刚好小于180度(无限接近180度),可以看得无限远。请计算出将军最多能得多少城堡。如果所有的城堡都在凸焦点上,那么将军一个城堡也得不到。 输入: 第一行,整数m,表示接下来有m行。接下来的m行,每行都有2个原创 2017-08-21 21:15:06 · 628 阅读 · 0 评论 -
阿里编程测验
问题 1. 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生下一对小兔,之后开始每年都会生下一对小兔。生下的小兔又会以同样的方式继续繁殖。 2. 兔子的寿命都是x(x>=3)年,并且生命的最后一年不繁殖。 3. 如果岛上的兔子多于10对,那么猎人会每年在兔子们完成繁殖或者仙逝之后,从岛上带走两对最老的兔子。 请问y年(y>=3)后荒岛上所有的兔子加起来多少岁?(注意,原创 2017-08-09 11:35:14 · 1304 阅读 · 3 评论 -
替换空格
题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution{public: void replaceSpace(char *str,int length){ if(!str||length<= 0) return; int bl原创 2017-08-13 16:26:33 · 191 阅读 · 0 评论 -
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入描述: array: 待查找的二维数组 target:查找的数字 输出描述: 查找到返回true,查找不到返回falseclass Solution{public: bool Find(vector<vect原创 2017-08-13 16:11:57 · 238 阅读 · 0 评论 -
[编程题] 奇数位上都是奇数或者偶数位上都是偶数
给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6…算作偶数位,下标1,3,5,7…算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可。class Solution { public: void o原创 2017-08-13 16:02:59 · 745 阅读 · 0 评论 -
[编程题] 最大的LeftMax与rightMax之差绝对值
给定一个长度为N的整型数组arr,可以划分成左右两个部分: 左部分arr[0..K],右部分arr[K+1..arr.length-1],K可以取值的范围是[0,arr.length-2] 求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值,最大是多少? 例如: [2,7,3,1,1] 当左部分为[2,7],右部分为[3,1,1]时,左部分中的最大值减去右部分最大值的绝对值为4; 当左部分原创 2017-08-13 15:45:32 · 352 阅读 · 1 评论 -
[编程题] 异或
给定整数m以及n各数字A1,A2,..An,将数列A中所有元素两两异或,共能得到n(n-1)/2个结果,请求出这些结果中大于m的有多少个。 输入描述: 第一行包含两个整数n,m. 第二行给出n个整数A1,A2,…,An。数据范围对于30%的数据,1 <= n, m <= 1000对于100%的数据,1 <= n, m, Ai <= 10^5输出描述: 输出仅包括一行,即所求的答案输入例子1:原创 2017-08-20 14:53:06 · 1567 阅读 · 0 评论 -
编程测评
问题如下 代码如下#include <bits/stdc++.h>using namespace std;//KMP算法 int KMP(const string& target,const string& pattern){ const int target_length = target.size(); const int pattern_length = patte原创 2017-08-17 16:55:58 · 338 阅读 · 0 评论 -
[编程题] 最大乘积
给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n]输出描述: 满足条件的最大乘积输入例子1: 4 3 4 1 2输出例子1: 24#include <bits/stdc++.h>using namespace std;int main() { int n;原创 2017-08-16 20:23:44 · 841 阅读 · 0 评论 -
[编程题] 棋子翻转
在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。 给定两个数组A和f,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。 测试样例: [[0,0,1,1],[1,0,1,0],[0,1,1,0],[0,0,1原创 2017-08-08 22:08:33 · 819 阅读 · 0 评论 -
奶牛的编号
题目:题目描述 有N(1≤N≤1000)头奶牛,它们都被标上一个优先等级编号:1,2或3。用来表示它们喝水时的优先次序,编号为l的最优先,编号为2的其次,编号为3的最后。每天奶牛开始时排成一行,但总是很乱,需要你把它们重新排成编号为1的奶牛在最前面,编号为2的其次,编号为3的奶牛在最后。你能计算出最少需要多少的交换次序来完成这次重排吗?输入 第1行:1个整数N; 第2至N+I行:第i+l原创 2017-09-29 20:58:54 · 1371 阅读 · 0 评论