阿里2015实习的一道题

	#include<iostream>
#include<vector>
using namespace std;

#define INF 1000

int zhao_zuixiaozhi(vector<int> &ary);

int COUT_xulie(vector<int> &ary)
{
	int jishu_number=0;
	int now_min_numver;
	int now_min;
	vector<int>ary_temp=ary;

	now_min_numver=zhao_zuixiaozhi(ary_temp);
	now_min=ary_temp[now_min_numver];
	ary_temp[now_min_numver]=INF;
	cout<<now_min;
	jishu_number++;

	int next_min_number;
	int next_min;
	int ary_size=ary_temp.size();

	while(jishu_number<ary_size)
	{
		next_min_number=zhao_zuixiaozhi(ary_temp);
		next_min=ary_temp[next_min_number];

		if(next_min_number<now_min_numver)
		{
			cout<<‘,‘<<next_min;
			jishu_number++;
		}
		else
		{
			cout<<endl;
			cout<<next_min;
			jishu_number++;
			now_min=next_min;
			now_min_numver=next_min_number;
		}
		ary_temp[next_min_number]=INF;
	}
	return 1;
}

int zhao_zuixiaozhi(vector<int> &ary)
{
	vector<int>::iterator i_beging,i_end;
	int min_result,min_number,i=0;
	min_result=ary[0];
	min_number=0;
	for(i=0;i!=(ary.size());i++)
	{
		if(ary[i]<min_result)
		{
			min_result=ary[i];
			min_number=i;
		}
	}
	return min_number;
}

int main()
{

	vector<int> ary;
	ary.push_back(1);
	ary.push_back(2);
	ary.push_back(5);
	ary.push_back(8);
	ary.push_back(10);
	ary.push_back(4);
	ary.push_back(3);
	ary.push_back(6);
    ary.push_back(9);
    ary.push_back(7);
	COUT_xulie(ary);

	//cout<<zhao_zuixiaozhi(ary)<<endl;
	//int a[10]={1,2,3};
	//ary={1,2,8,10,4,3,6,9,7};
	//COUT_xulie(ary);

	system("pause");
	return 1;
}

  

时间: 2024-10-12 21:30:53

阿里2015实习的一道题的相关文章

阿里2015笔试题

分析:js有两种类型,基本数据类型和引用类型,数组是引用类型,执行第二行不仅仅是赋值,array2还生成了一个指针指向array1,也就是array2引用了array1,不管array1.array2其中有一个改变时,两个数组都会改变,执行第二行后array2和array1都等于[1,2],执行第三行后array1和array2都变为[2,2],执行第四行后,array1和array2都变为[2,2,3] 这题不用说,送分题,肯定没有float 其实做题的时候不是特别理解,但还是知道有‘重排‘这

阿里2015在线研发工程师笔试题(部分)

今天lz去阿里的在线笔试打了一把酱油,由于lz的水平有限,时间太他么紧张了.下面把记下来的题给大家分享一下.选择题总共20道,前十题截了图,后面感觉太费时就没有再截了,凭记忆记下了两道.附加题都记录下来了. 选择题 第1题: 第2题: 第3题: 第4题 第5题: 第6题: 第7题: 第8题: 第9题: 第10题: 回忆起来的题(11-20中的某2道) 1.       一个博物馆,以每分钟20人的速度进入,平均每人待20分钟,问博物馆最少需要容纳多少人? A.100 B.200  C.300 

阿里2015暑期实习生业务型产品笔试题(附部分参考答案)

注:加粗部分为参考答案,仅供参考. 1.以下哪些不是以B2B模式为主营的公司? 1688.com唯品会中国化工网我的钢铁网hao123.com慧聪网 2.天猫和淘宝商品有哪些付款方式?支付宝余额付款货到付款财付通付款信用卡付款 3.DAU代表什么意思?日用户点击量月活跃用户数量日活跃用户数量网站独立访客 4.关于去哪儿网.携程网.穷游网.艺龙网,以下说法正确的是? 去哪儿是旅游产品类搜索引擎,携程是代理商 去哪儿和艺龙主要是代理商,携程是旅游产品类搜索引擎 艺龙.携程均主要是旅游产品搜索引擎 去

阿里2015秋招 研发工程师

平均每个人逗留时间为20分钟,那么开场前20分钟一共来了400人,且有20个人逗留时间已经到,但他们不一定出去,注意是平均时间,所有博物馆最少应该容纳500人 双向循环列表,从任何一个元素开始可以遍历全部元素 先和后面的元素相连 s->next=p->next; p->next->prev=s->next; 在前面的元素相连 p->next=s; s->pre=p; 答案显而易见 画图可以实现 时间轮转为1秒 A 24 B 20 C 7 D14 总时间为73所以平

成为阿里外包实习TL,我发了第一封内部邮件。。。

先看下 <空号>:聊聊我在阿里外包3个月学到了什么,每天和正式员工呆在一起,这是我3个月的所见所闻所想.我常常在思考和他们的差距在哪里,以后也会不定时的继续发个人浅见. 前言 本文不带任何感情色彩,从自己作为一个小白程序员的世界去剖析认识我眼中的Team Leader该是什么样子. 邮件(有删改) 从成立idu的那一刻起,我就在想几个问题:什么是idu(独立交付单元)?为什么成立idu?成立idu以后我们应该怎么做? 为方便大家理解,给idu下个定义:能独立完成任务,并按时交付的作战小组即独立

阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出

分布式系统中的RPC请求经常出现乱序的情况. 写一个算法来将一个乱序的序列保序输出.例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是: 1 2 3, 4, 5 6 7, 8, 9, 10 上述例子中,3到来的时候会发现4,5已经在了.因此将已经满足顺序的整个序列(3, 4, 5)输出为一行. 要求: 1. 写一个高效的算法完成上述功能,实现要尽可能的健壮.易于维护 2. 为该算法设计并实现单元测试 貌似效率不是很高,有时间的时候改进下.

最长连续字母序列的长度(阿里2015在线研发工程师笔试题)

给定一个query和一个text,均由小写字母组成.要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度.例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3.请注意程序效率. 直接暴力,时间复杂度:m*n*n int Solve(char qu[],int n,char te[],int m) { int i,j; int k,p; int Max; in

阿里2015 在线笔试

题目一:有两辆公交车,每间隔十分钟发车一趟,时间的尾数为1和9的分别代表甲车乙车,一个人随机的走到车站,乘上甲车的概率? A:0.1   B:0.2   C:0.3   D:0.4  E:0.5 有人选择的是0.5,各占一半(原因是随机的嘛).还有的人选择的是0.2(原因是1--9区间乘坐乙车,9--11乘坐甲车):还有的人选择的是-- 题目二:二叉搜索树最坏情况下的时间复杂度? A:logn   B:n   C nlogn 有的人选择的是logn,即没有查到的情况下 题目三:另一个题目是考的后

腾讯2015实习校招-整形长度算法思路实现

题意 在不使用sizeof()函数的情况下,取出本机的整形所占位数,如32位.64位等. 分析 我看到题目后的第一思路就是统计二进制中1的个数.但是位数不确定啊,我用了0取反,然后保存的二进制就是N个1了,现在发现-1就行.用unsigned int保存,移位操作统计就好,一个字节8位,所以每次左移8位. #include <stdio.h> int main(void) { int a =0; unsigned int b =~a; int count=0; while(b!=0){ b&g