zoukankan      html  css  js  c++  java
  • leetcode949

    public class Solution
        {
            public string LargestTimeFromDigits(int[] A)
            {
                var list = Perm(A, 0);
                var maxHour = -1;
                var maxMinute = -1;
                foreach (var nums in list)
                {
                    var hour = nums[0].ToString() + nums[1].ToString();
                    var minute = nums[2].ToString() + nums[3].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 >= 0)
                {
                    var tempHour = maxHour.ToString();
                    var tempMinute = maxMinute.ToString();
                    if (tempHour.Length == 1)
                    {
                        tempHour = "0" + tempHour;
                    }
                    if (tempMinute.Length == 1)
                    {
                        tempMinute = "0" + 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 + 1)) 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[0]);
                var minute = Convert.ToInt32(part[1]);
                if (hour >= 0 && hour <= 23 && minute >= 0 && minute <= 59)
                {
                    return true;
                }
                return false;
            }
        }

    这题又长又卵,没意思。

  • 相关阅读:
    CocoaPods使用详细说明
    UICollectionView的使用小记录和一些说明
    UICollectionView的使用
    ios获取UserAgent
    获取广告标识符ifad
    iOS获取UUID,并使用keychain存储
    振动一次
    CocoaPods本身版本的更新
    3D Touch集成过程整理
    iOS开发-UI (三)Collection
  • 原文地址:https://www.cnblogs.com/asenyang/p/10065256.html
Copyright © 2011-2022 走看看