# LeetCode Go刷题仓库 此仓库包含了一些经典的 LeetCode 算法题目,按照题目类型分类,并使用 Go 语言实现。每个题目单独一个文件,按照难度和类型进行组织。以下是各个目录的功能和题型说明。 --- ## 目录结构 ### `/array` - 数组相关题目 此目录包含与数组操作相关的题目,常见的操作包括查找、排序、求和、滑动窗口等。 - **easy_two_sum.go**:两数之和(简单) - **medium_max_subarray.go**:最大子数组和(中等) ### `/linkedlist` - 链表相关题目 此目录包含与链表操作相关的题目,涉及链表的遍历、反转、合并等操作。 - **easy_reverse_list.go**:反转链表(简单) ### `/stack` - 栈相关题目 此目录包含与栈的应用相关的题目,栈是许多算法和数据结构中的基础,常用于括号匹配、单调栈等。 - **medium_valid_parentheses.go**:有效的括号(中等) - **hard_maximal_rectangle.go**:最大矩形面积(困难) ### `/dynamic_programming` - 动态规划相关题目 此目录包含与动态规划相关的题目,动态规划常用于求最优解问题,例如最长子序列、背包问题等。 - **medium_longest_subsequence.go**:最长递增子序列(中等) - **hard_edit_distance.go**:编辑距离(困难) ### `/graph` - 图相关题目 此目录包含与图的遍历和搜索相关的题目,常用的图算法包括深度优先搜索(DFS)、广度优先搜索(BFS)等。 - **medium_course_schedule.go**:课程表(中等) - **hard_word_ladder.go**:单词接龙(困难) ### `/tree` - 树相关题目 此目录包含与树结构相关的题目,常见的树操作包括遍历、求深度、平衡二叉树等。 - **easy_max_depth.go**:二叉树的最大深度(简单) - **medium_level_order.go**:二叉树的层次遍历(中等) ### `/string` - 字符串相关题目 此目录包含与字符串操作相关的题目,涉及字符串的匹配、变换、回文等问题。 - **easy_valid_palindrome.go**:回文字符串(简单) - **hard_longest_substring_without_repeating.go**:无重复字符的最长子串(困难) ### `/backtracking` - 回溯算法相关题目 此目录包含与回溯算法相关的题目,回溯算法常用于组合、排列、子集生成等问题。 - **medium_combination_sum.go**:组合总和(中等) - **hard_n_queens.go**:N 皇后问题(困难) ### `/greedy` - 贪心算法相关题目 此目录包含与贪心算法相关的题目,贪心算法用于找到问题的局部最优解,常用于最小化或最大化问题。 - **medium_jump_game.go**:跳跃游戏(中等) - **hard_split_array_largest_sum.go**:分割数组的最大和(困难) ### `/heap` - 堆相关题目 此目录包含与堆相关的题目,堆常用于求解最大/最小值、Top K 问题等。 - **medium_top_k_elements.go**:前 K 个高频元素(中等) --- ## 使用说明 每个题目文件包含完整的解题代码和注释,直接运行文件可以查看解题过程和输出。你可以通过 `go run ` 命令来运行某个题目的代码进行调试和测试。 --- ## 其他说明 - 本仓库主要用于刷 LeetCode 题目,所有题目都是独立的 Go 文件,便于快速学习和调试。 - 每道题的解法根据 LeetCode 提供的题目描述进行编写,部分文件可能包含额外的注释帮助理解思路。 - 有一些题目可能会在代码中做了优化或改进,特别是时间复杂度或空间复杂度方面。 --- 希望这些题目能帮助你提升解题能力和编程技能!如果有任何问题或者建议,欢迎联系我。