【LeetCode】Algorithm Problems Select

import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class AlgorithmProblemsSelect
{

  public static void main(String[] args)
  {
    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(2, "[Medium] Add Two Numbers");
    map.put(3, "[Medium] Longest Substring Without Repeating Characters");
    map.put(5, "[Medium] Longest Palindromic Substring");
    map.put(6, "[Medium] ZigZag Conversion");
    map.put(8, "[Medium] String to Integer");
    map.put(11, "[Medium] Container With Most Water");
    map.put(14, "[Easy] Longest Common Prefix");
    map.put(16, "[Medium] 3Sum Closest");
    map.put(18, "[Medium] 4Sum");
    map.put(19, "[Medium] Remove Nth Node From End of List");
    map.put(20, "[Easy] Valid Parentheses");
    map.put(23, "[Hard] Merge k Sorted Lists");
    map.put(24, "[Medium] Swap Nodes in Pairs");
    map.put(29, "[Medium] Divide Two Integers");
    map.put(31, "[Medium] Next Permutation");
    map.put(33, "[Medium] Search in Rotated Sorted Array");
    map.put(34, "[Medium] Find First and Last Position of Element in Sorted Array");
    map.put(36, "[Medium] Valid Sudoku");
    map.put(39, "[Medium] Combination Sum");
    map.put(46, "[Medium] Permutations");
    map.put(47, "[Medium] Permutations II");
    map.put(49, "[Medium] Group Anagrams");
    map.put(53, "[Easy] Maximum Subarray");
    map.put(55, "[Medium] Jump Game");
    map.put(56, "[Medium] Merge Intervals");
    map.put(61, "[Medium] Rotate List");
    map.put(62, "[Medium] Unique Paths");
    map.put(63, "[Medium] Unique Paths II");
    map.put(64, "[Medium] Minimum Path Sum");
    map.put(71, "[Medium] Simplify Path");
    map.put(73, "[Medium] Set Matrix Zeroes");
    map.put(74, "[Medium] Search a 2D Matrix");
    map.put(75, "[Medium] Sort Colors");
    map.put(80, "[Medium] Remove Duplicates from Sorted Array II");
    map.put(81, "[Medium] Search in Rotated Sorted Array II");
    map.put(82, "[Medium] Remove Duplicates from Sorted List II");
    map.put(83, "[Easy] Remove Duplicates from Sorted List");
    map.put(86, "[Medium] Partition List");
    map.put(88, "[Easy] Merge Sorted Array");
    map.put(92, "[Medium] Reverse Linked List II");
    map.put(94, "[Medium] Binary Tree Inorder Traversal");
    map.put(100, "[Easy] Same Tree");
    map.put(111, "[Easy] Minimum Depth of Binary Tree");
    map.put(112, "[Easy] Path Sum");
    map.put(114, "[Medium] Flatten Binary Tree to Linked List");
    map.put(121, "[Easy] Best Time to Buy and Sell Stock");
    map.put(122, "[Easy] Best Time to Buy and Sell Stock II");
    map.put(129, "[Medium] Sum Root to Leaf Numbers");
    map.put(130, "[Medium] Surrounded Regions");
    map.put(137, "[Medium] Single Number II");
    map.put(139, "[Medium] Word Break");
    map.put(143, "[Medium] Reorder List");
    map.put(144, "[Medium] Binary Tree Preorder Traversal");
    map.put(146, "[Medium] LRU Cache");
    map.put(147, "[Medium] Insertion Sort List");
    map.put(150, "[Medium] Evaluate Reverse Polish Notation");
    map.put(151, "[Medium] Reverse Words in a String");
    map.put(152, "[Medium] Maximum Product Subarray");
    map.put(162, "[Medium] Find Peak Element");
    map.put(165, "[Medium] Compare Version Numbers");
    map.put(179, "[Medium] Largest Number");
    map.put(200, "[Medium] Number of Islands");
    map.put(201, "[Medium] Bitwise AND of Numbers Range");
    map.put(214, "[Hard] Shortest Palindrome");
    map.put(228, "[Medium] Summary Ranges");
    map.put(238, "[Medium] Product of Array Except Self");
    map.put(240, "[Medium] Search a 2D Matrix II");
    map.put(260, "[Medium] Single Number III");
    map.put(328, "[Medium] Odd Even Linked List");
    map.put(334, "[Medium] Increasing Triplet Subsequence");
    map.put(338, "[Medium] Counting Bits");
    map.put(905, "[Easy] Sort Array By Parity");
    map.put(3792, "[Medium] Lian Lian Kan");
    Integer[] keys = map.keySet().toArray(new Integer[0]);
    int[] easyMediumHard = new int[3];
    Set<String> set = new HashSet<String>();
    for (String value : map.values())
    {
      if (value.startsWith("[Ea"))
      {
        easyMediumHard[0]++;
      }
      else if (value.startsWith("[Me"))
      {
        easyMediumHard[1]++;
      }
      else
      {
        easyMediumHard[2]++;
      }
      if (set.contains(value))
      {
        System.out.println("duplicate: " + value);
      }
      set.add(value);
    }
    List<Integer> keysList = Arrays.asList(keys);
    Collections.sort(keysList);
    System.out.println(keysList);
    int setSize = set.size();
    System.out.println("Altogether: " + set.size());
    System.out.println("Easy: " + easyMediumHard[0]);
    System.out.println("Medium: " + easyMediumHard[1]);
    System.out.println("Hard: " + easyMediumHard[2]);
    Calendar cal = Calendar.getInstance();
    int day_of_month = cal.get(Calendar.DAY_OF_MONTH);
    int day_of_week = cal.get(Calendar.DAY_OF_WEEK) - 1;
    System.out.println(day_of_month);
    System.out.println(day_of_week);
    if (day_of_week == 0)
      day_of_week = 7;
    final int prime = 31;
    int start = 1;
    start = prime * start + day_of_month;
    start = prime * start + day_of_week;
    start = (start - 1) % setSize;
    for (int i = start; i < start + 3; i++)
    {
      int index = i % setSize;
      int key = keysList.get(index);
      System.out.println("【" + (index + 1) + "】" + key + ": " + map.get(key));
    }
  }

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值