File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ def load_user_data():
3434
return load_json('user.json')
3535

3636
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]))
3838

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 [])
4142

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
4444
if problem_type==ProblemType.Random:
4545
return random.sample(list(problem_set), min(len(problem_set),k))
4646
return []
@@ -67,7 +67,7 @@ def mark_problem(user_data, mark_type, leetcode_id):
6767
'Options are:'
6868
'array hash table ll greedy backtrack graph etc')
6969
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")
7171

7272
args = parser.parse_args()
7373

@@ -91,7 +91,7 @@ def mark_problem(user_data, mark_type, leetcode_id):
9191
for elem in args.list:
9292
if elem in company_to_problems:
9393
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]])
9595
elif elem.lower() in user_data:
9696
# load from file
9797
problem_set.update(user_data[elem.lower()])

0 commit comments

Comments
 (0)