Bootstrap

6个数找最大时间

 6个数找最大时间 

给定一个数组,里面有6个整数,求这个数组能够表示的最大24进制的时间是多少?

* 题目描述:给定一个数组,里面有6个整数,求这个数组能够表示的最大24进制的时间是多少,
*           输出这个时间,无法表示输出invalid
* 输入描述:输入为一个整数数组,数组内有6个整数
*           输入整数数组长度为6,不需要考虑其它长度,元素值为0或者正整数,
*           6个数字每个数字只能使用一次。
* 输出描述:输出为一个24进账格式的时间,或者字符串“invalid”
* 示例输入:[0,2,3,0,5,6]
* 示例输出: 23:56:00

#include<bits/stdc++.h>

using namespace std;

//找到不超过n的最大的数
int findMax(vector<int> &nums, int n) {
	if (nums.empty())
		return -1;
	int res = -1;
	for (int i = 0; i < nums.size(); i++) {
		if (nums[i] < n) {
			res = max(res, nums[i]);
		}
	}
	//标记取走的数
	for (int i = 0; i < nums.size(); i++) {
		if (res == nums[i]) {
			num
;