作者: 负雪明烛
id: fuxuemingzhu
个人博客: http://fuxuemingzhu.cn/


题目地址:https://leetcode.com/problems/largest-time-for-given-digits/description/

题目描述

Given an array of 4 digits, return the largest 24 hour time that can be made.

The smallest 24 hour time is 00:00, and the largest is 23:59. Starting from 00:00, a time is larger if more time has elapsed since midnight.

Return the answer as a string of length 5. If no valid time can be made, return an empty string.

Example 1:

Input: [1,2,3,4]
Output: "23:41"

Example 2:

Input: [5,5,5,5]
Output: ""

Note:

  1. A.length == 4
  2. 0 <= A[i] <= 9

题目大意

给了4个数字,找出能做到的排列出的24小时制时间最大值。

解题方法

这个题有人使用的是Permutation的方法,需要把每个permutation做出来,然后进行判断。当然了,只有4个数字,不会超时。

我的做法是从23:59向00:00遍历24小时制的每一个分钟,这样的话,我们看这个时间能不能由题目给的4个数字表示出来。如果可以的话立即终止即可。总共24*60个分钟,中间进行判断的方式是排序,整体的时间复杂度很小的。所以也能通过。

class Solution(object):
def largestTimeFromDigits(self, A):
"""
:type A: List[int]
:rtype: str
"""
A.sort()
for h in range(23, -1, -1):
for m in range(59, -1, -1):
t = [h / 10, h % 10, m / 10, m % 10]
ts = sorted(t)
if ts == A:
return str(t[0]) + str(t[1]) + ":" + str(t[2]) + str(t[3])
return ""

日期

2018 年 12 月 2 日 —— 又到了周日

最新文章

  1. CSharpGL(7)对VAO和VBO的封装
  2. Ajax.BeginForm VS Html.BeginForm
  3. Mysql创建新用户后无法登录,提示 Access denied for user &#39;username&#39;@&#39;localhost&#39; (using password: YES)
  4. Spring结合Quartz实现多任务定时调用(转载)
  5. NSAttributedString之设置字间距与行间距
  6. 如何通过jquery隐藏和显示元素
  7. 优化C++程序编译效率的一些方法
  8. 你好,C++(8)如何表达那些始终保持不变的数据量?3.2.2 常量
  9. Less基础教程
  10. 在U-boot中添加以太网驱动
  11. 从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
  12. deepin(debian)下使用Git
  13. C# 百钱买百鸡
  14. Filebeat命令参考
  15. sqlite 中的分页语句
  16. LogFilter
  17. Eclipse中避免修改后台代码后手动install和重启
  18. Linux TCP 连接数
  19. Oracle11g_OCM 课堂教学目录表
  20. (4.29)sql server中有关于GO的坑

热门文章

  1. flink-----实时项目---day05-------1. ProcessFunction 2. apply对窗口进行全量聚合 3使用aggregate方法实现增量聚合 4.使用ProcessFunction结合定时器实现排序
  2. css相关,flex布局全通!
  3. Docker学习(四)——Docker容器连接
  4. swift 实现QQ好友列表功能
  5. What happens when more restrictive access is given to a derived class method in C++?
  6. tomcat 之 httpd session stiky
  7. class.getName()和class.getSimpleName()的区别
  8. Druid数据库连接池工具类
  9. Quartz在.NET中的使用
  10. 第三届“传智杯”全国大学生IT技能大赛(初赛A组)题解