参考解目录
这里是什么:每一课(每个实验)的参考解,一课一个目录,与 lab 目录一一对应。做完自己的版本再来看——重点是比「分段的方式」和「那一行决定快慢的代码」,不是比谁的代码短。回到课件见 课程主页。
0003 · 列表与字典的隐藏价格
0004 · 把一段代码变成函数
- run_tests.py
- flat_odd.py
- task1_functions.py
- task2_default_arg.py
- task3_global_state.py
- task4_copy_list.py
0005 · 推导式与常用内置工具
- README.md
- run_tests.py
- loops_original.py
- task1_rewrite.py
- task2_nested.py
- task3_generator.py
- task4_zip_enum.py
- task5_sort.py
- task6_any_all.py
0006 · 读完输入再动手
- README.md
- run_tests.py
- sample1.in
- sample2.in
- sample2b.in
- sample3.in
- sample4.in
- sample5.in
- sample5b.in
- sample6.in
- task1_parse.py
- task2_read_then_compute.py
- task3_string_trap.py
- task4_debug.py
- task5_clean_stdout.py
- task6_submit_check.py
0007 · 实验一:把一道题跑通
0009 · 一维数据的两种走法
- README.md
- run_tests.py
- task1_brute.py
- task2_prefix.py
- task3_window.py
- task4_compare.py
- task5_scale.py
- tools.py
0010 · 后进先出与先进先出
- README.md
- run_tests.py
- task1_stack_queue.py
- task2_queue_cost.py
- task3_brackets.py
- task4_eval.py
- task5_window_max.py
- tools.py
0011 · 双指针:两个下标的配合
- README.md
- run_tests.py
- task1_two_sum_sorted.py
- task2_if_vs_while.py
- task3_dedup_inplace.py
- task4_palindrome.py
- task5_merge_sorted.py
- tools.py
0011 · 双指针:两个下标的配合 · probes/
0013 · 排序:分而治之的样板
- run_tests.py
- task1_sort_three.py
- task2_time_table.py
- task3_sorted_degrade.py
- task4_counting_range.py
- tools.py
0013 · 排序:分而治之的样板 · probes/
0014 · 二分:每次砍掉一半
0014 · 二分:每次砍掉一半 · probes/
0015 · 实验二:给解法装上对拍器
0016 · 为什么字典查得那么快
- run_tests.py
- task1_count.py
- task2_first_repeat.py
- task3_two_sum.py
- task4_hash_buckets.py
- task5_key_rules.py
0017 · 树:会递归的结构
- README.md
- run_tests.py
- task1_traversal.py
- task2_tree_stats.py
- task3_depth_shape.py
- task4_concat_cost.py
- tools.py
0018 · 每次都要最小的那个
- run_tests.py
- task1_merge_fruit.py
- task2_kth_largest.py
- task3_running_median.py
- task4_min_heap.py
- tools.py
0019 · 并查集:谁和谁是一伙的
- run_tests.py
- task1_basic_dsu.py
- task2_optimizations.py
- task3_comparison.py
- task4_components.py
- tools.py
0019 · 并查集:谁和谁是一伙的 · probes/
0021 · 搜索:把图走一遍
- README.md
- run_tests.py
- task1_dfs_bfs.py
- task2_maze_shortest.py
- task3_islands.py
- task4_mark_timing.py
- tools.py
0022 · 二分答案:猜一个再验一遍
- README.md
- run_tests.py
- task01_wood_cutting.py
- task02_river_hopping.py
- task03_bruteforce_verify.py
- task04_break_monotonicity.py
- tools.py
0022 · 二分答案:猜一个再验一遍 · probes/
0025 · 背包:选与不选
- README.md
- run_tests.py
- task1_knap01.py
- task2_direction.py
- task3_exact.py
- task4_complete_group.py
- tools.py
0026 · 序列与区间的状态设计
0027 · 实验三:让助手推荐并验证
0029 · 让 Python 再快一点
- README.md
- run_tests.py
- task1_bottleneck.py
- task2_tuning.py
- task3_builtin.py
- task4_break_it.py
- tools.py
0030 · 交卷之前你要检查什么
- README.md
- run_tests.py
- task1_brute_ref.py
- task2_generator.py
- task3_reset.py
- task4_modulo.py
- tools.py
0031 · 实验四:一次完整的赛前模拟
- README.md
- run_tests.py
- check_timeline.py
- explain.md
- explain_template.md
- score.json
- score.py
- test_data.py
- timeline.md
- timeline_template.md
0031 · 实验四:一次完整的赛前模拟 · answers/
0031 · 实验四:一次完整的赛前模拟 · problems/
0031 · 实验四:一次完整的赛前模拟 · reference/
0033 · 综合实战:把刷题助手做完
- README.md
- run_tests.py
- answer.md
- answer_example.md
- contracts.py
- fake_model.py
- parse.py
- pipeline.py
- record.md
- record_example.md
- tools.py