leetcode949
public class Solution
{
public string LargestTimeFromDigits(int[] A)
{
var list = Perm(A, );
var maxHour = -;
var maxMinute = -;
foreach (var nums in list)
{
var hour = nums[].ToString() + nums[].ToString();
var minute = nums[].ToString() + nums[].ToString();
var strtime = hour + ":" + minute;
if (ValidTime(strtime))
{
var Inthour = Convert.ToInt32(hour);
var IntMinute = Convert.ToInt32(minute);
if ((Inthour > maxHour) || (Inthour == maxHour && IntMinute >= maxMinute))
{
maxHour = Inthour;
maxMinute = IntMinute;
}
}
}
if (maxHour >= )
{
var tempHour = maxHour.ToString();
var tempMinute = maxMinute.ToString();
if (tempHour.Length == )
{
tempHour = "" + tempHour;
}
if (tempMinute.Length == )
{
tempMinute = "" + tempMinute;
}
return tempHour + ":" + tempMinute;
}
else
{
return "";
}
} private void Swap<T>(ref T a, ref T b)
{
T t = a;
a = b;
b = t;
}
private IEnumerable<int[]> Perm(int[] arr, int pos)
{
if (pos == arr.Length)
{
yield return arr;
}
for (int i = pos; i < arr.Length; ++i)
{
Swap(ref arr[i], ref arr[pos]);
foreach (var j in Perm(arr, pos + )) yield return j;
Swap(ref arr[i], ref arr[pos]);
}
} /// <summary>
/// 判断时间格式是否合法
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
private bool ValidTime(string time)
{
var part = time.Split(':');
var hour = Convert.ToInt32(part[]);
var minute = Convert.ToInt32(part[]);
if (hour >= && hour <= && minute >= && minute <= )
{
return true;
}
return false;
}
}
这题又长又卵,没意思。
leetcode949的更多相关文章
- [Swift]LeetCode949. 给定数字能组成的最大时间 | Largest Time for Given Digits
Given an array of 4 digits, return the largest 24 hour time that can be made. The smallest 24 hour t ...
- Leetcode949. Largest Time for Given Digits给定数字能组成最大的时间
给定一个由 4 位数字组成的数组,返回可以设置的符合 24 小时制的最大时间. 最小的 24 小时制时间是 00:00,而最大的是 23:59.从 00:00 (午夜)开始算起,过得越久,时间越大. ...
随机推荐
- calc()语法
什么是calc()? 学习calc()之前,我们有必要先知道calc()是什么?只有知道了他是个什么东东?在实际运用中更好的使用他. calc()从字面我们可以把他理解为一个函数function.其实 ...
- 南阳oj-ASCII码排序-用了一个晚上
#include <iostream> #include <sstream> #include <stdio.h> #include <string> ...
- 使用blessed 开发丰富的cli 应用
blessed 是一个不错的npm 包,可以帮助我们开发出带有丰富ui界面的cli 应用,类似的有subzero 测试环境准备 项目结构 ├── README.md ├── app.js ├── my ...
- php重新整理数组索引
语法 array_merge(array1,array2,array3...) 参数 描述 array1 必需.输入的第一个数组. array2 必需.输入的第二个数组. array3 可选.可指定的 ...
- 编程实现C库函数
1.memcpy函数 memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数: 函数原型:void * ...
- [DL] 基于theano.tensor.dot的逻辑回归代码中的SGD部分的疑问探幽
在Hinton的教程中, 使用Python的theano库搭建的CNN是其中重要一环, 而其中的所谓的SGD - stochastic gradient descend算法又是如何实现的呢? 看下面源 ...
- file-loader 与 url-loader 的区别
url-loader是对file-loader的一个封装,比如webpack中对图片的加载器配置 {test: /\.(png|jpg)$/, loader: 'url-loader?limit=81 ...
- 建造者模式及C++实现
下面是我自己对建造者模式的理解.具体我还没在开发中应用过,这只是对于书本的理解. 建造者模式 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.这是建造者模式的标准 ...
- hashmap引起死循环
今天开发环境压测的时候出现cpu用满了情况,看线程堆栈,一堆线程都停留在org.apache.commons.collections4.map.AbstractHashedMap.put(Abstra ...
- redis sentinel无法启动问题
redis sentinel 正常启动 ./redis-sentinel sentinel.conf 就可以启动, 但是如果linux 操作系统(比如阿里云os)不支持ipv6,就会导致sentine ...