@@ -34,13 +34,13 @@ def load_user_data():
|
34 | 34 | return load_json('user.json')
|
35 | 35 |
|
36 | 36 | def pick_problems(user_data, problems, topic_list, k=5, problem_type=ProblemType.Random):
|
37 |
| -completed = load_completed_list(user_data) |
| 37 | +selected_topics = set(itertools.chain(*[topics[topic] for topic in topic_list])) |
38 | 38 |
|
39 |
| -skipped_hard = user_data['hard'] |
40 |
| -revisit = user_data['revisit'] |
| 39 | +skip_set = set(load_completed_list(user_data)) |
| 40 | +for maybe_skip in ['hard', 'revisit', 'refresh']: |
| 41 | +skip_set.update(user_data[maybe_skip] if maybe_skip not in args.list else []) |
41 | 42 |
|
42 |
| -selected_topics = set(itertools.chain(*[topics[topic] for topic in topic_list])) |
43 |
| -problem_set = (set(problems) & selected_topics) - set(completed) - set(skipped_hard) - set(revisit) |
| 43 | +problem_set = (set(problems) & selected_topics) - skip_set |
44 | 44 | if problem_type==ProblemType.Random:
|
45 | 45 | return random.sample(list(problem_set), min(len(problem_set),k))
|
46 | 46 | return []
|
@@ -67,7 +67,7 @@ def mark_problem(user_data, mark_type, leetcode_id):
|
67 | 67 | 'Options are:'
|
68 | 68 | 'array hash table ll greedy backtrack graph etc')
|
69 | 69 | parser.add_argument('--list', '-l', nargs='+', default=['blind75'], help="Companies interested in (or file(s) containing comma-delimited problems)")
|
70 |
| -parser.add_argument('--num_problems', '-k', type=int, default=5, choices=range(1,50), help="Determine number of problems to solve") |
| 70 | +parser.add_argument('--num_problems', '-k', type=int, default=5, help="Determine number of problems to solve") |
71 | 71 |
|
72 | 72 | args = parser.parse_args()
|
73 | 73 |
|
@@ -91,7 +91,7 @@ def mark_problem(user_data, mark_type, leetcode_id):
|
91 | 91 | for elem in args.list:
|
92 | 92 | if elem in company_to_problems:
|
93 | 93 | for duration in company_to_problems[elem]:
|
94 |
| -problem_set.add(company_to_problems[elem][duration]) |
| 94 | +problem_set.update([int(leetcode_id) for leetcode_id in company_to_problems[elem][duration]]) |
95 | 95 | elif elem.lower() in user_data:
|
96 | 96 | # load from file
|
97 | 97 | problem_set.update(user_data[elem.lower()])
|
|
0 commit comments