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 (午夜)开始算起,过得越久,时间越大. ...
随机推荐
- CTF-练习平台-WEB之 签到题
一.签到题 根据提示直接加群在群公告里就能找到~
- TP3.2整合kindeditor
HTML <!-- KE图片上传 --> <link rel="stylesheet" href="__PUBLIC__/kindeditor/th ...
- MySQL--查询表统计信息
============================================================= 可以用show table status 来查看表的信息,如:show ta ...
- day23 python学习 类 人狗大战
面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 面向过程 优点是:极大的降低了 ...
- 使用 mysqldump 备份时的一些参数
因为还没有用到 ThinkPHP 的迁移组件,暂时使用 mysqldump 来备份,并版本控制. 有几个参数需要用到. --skip-dump-date 不要完成时间. --skip-extended ...
- FineUI 修改config表属性
此功能可用来设置系统的不同的标题 private void SelectSystem() { ConfigHelper.Title = DropDownList1.SelectedText; Conf ...
- java 物理资源回收 finally与try
java垃圾回收机制不会回收任何物理资源(磁盘文件.数据库连接.网络连接),垃圾回收机制只能回收堆内存中对象所占用的内存. 方法一使用finally块,在finally块中写入资源回收代码,如下: p ...
- 出现“安全时间戳无效,因为其创建时间(“2013-10-30T14:42:07.861Z”)是将来的时间。当前时间为“2013-10-30T14:36:23.988Z”,允许的时钟偏差是“00:05:00””的原因
具体原因是服务器的时间和本地的时间不能超过5分钟,超过5分钟了.只要修改你本地机器的时间,和服务器相差的时间不能超过5分钟,就可以了. 根本原因是windows 系统域认证要求的,所有都一样.
- R(7): data.table
这个包让你可以更快地完成数据集的数据处理工作.放弃选取行或列子集的传统方法,用这个包进行数据处理.用最少的代码,你可以做最多的事.相比使用data.frame,data.table可以帮助你减少运算时 ...
- 【python】专用下划线标识符说明
__xxx__:系统定义名字 __xxx:类中私有变量名 说明:__xxx看做“私有的”,在模块或者类外是不可以使用.