### 算法刷题笔记leetcode/lintcode #### 目录 - **Preface**:简介 - **FAQ**:常见问题解答 - **Guidelines for Contributing**:贡献指南 - **Contributors**:贡献者列表 - **Part I - Basics** - **Basics Data Structure** - String(字符串) - LinkedList(链表) - BinaryTree(二叉树) - HuffmanCompression(霍夫曼编码) - Queue(队列) - Heap(堆) - Stack(栈) - Set(集合) - Map(映射/哈希表) - Graph(图) - **Basics Sorting**(基本排序算法) - Bubble Sort(冒泡排序) - Selection Sort(选择排序) - Insertion Sort(插入排序) - Merge Sort(归并排序) - Quick Sort(快速排序) - Heap Sort(堆排序) - Bucket Sort(桶排序) - Counting Sort(计数排序) - Radix Sort(基数排序) - **Basics Algorithm**(基本算法) - Divide and Conquer(分治法) - Binary Search(二分查找) - Math(数学算法) - Greatest Common Divisor(最大公约数) - Prime(质数检测) - Knapsack(背包问题) - Probability(概率问题) - **Basics Misc**(其他基础知识) - Bit Manipulation(位操作) #### Part II - Coding 这部分涵盖了具体的编程题目及其解决方案,主要针对LeetCode和LintCode上的练习题。 - **String**(字符串处理) - Implement strStr(实现strStr函数) - Two Strings Are Anagrams(两个字符串是否为字母异位词) - Compare Strings(比较字符串) - Group Anagrams(字母异位词分组) - Longest Common Substring(最长公共子串) - Rotate String(旋转字符串) - Reverse Words in a String(反转字符串中的单词) - Valid Palindrome(回文字符串验证) - Longest Palindromic Substring(最长回文子串) - Space Replacement(URL化) - Wildcard Matching(通配符匹配) - Length of Last Word(最后一个单词的长度) - Count and Say(猜数字序列) - **Integer Array**(整型数组操作) - Remove Element(移除元素) - Zero Sum Subarray(连续子数组的最大和) - Subarray Sum K(子数组总和等于K) - Subarray Sum Closest(最接近的子数组和) - Recover Rotated Sorted Array(旋转数组的最小数字) - Product of Array Except Self(数组中除了自身以外的乘积) - Partition Array(分割数组) - First Missing Positive(缺失的第一个正数) - 2 Sum(两数之和) - 3 Sum(三数之和) - 3 Sum Closest(三数之和最接近) - Remove Duplicates from Sorted Array(删除有序数组中的重复项) - Remove Duplicates from Sorted Array II(删除排序数组中的重复项II) - Merge Sorted Array(合并两个有序数组) - Merge Sorted Array II(合并两个有序数组II) - Median(中位数) - Partition Array by Odd and Even(奇偶分割数组) - **Binary Search**(二分查找) - Kth Largest Element(第k个最大元素) - First Position of Target(目标值首次出现的位置) - Search Insert Position(搜索插入位置) - Search for a Range(搜索范围) - First Bad Version(第一个错误版本) - Search a 2D Matrix(二维矩阵中的搜索) - Search a 2D Matrix II(二维矩阵中的搜索II) - Find Peak Element(寻找峰值元素) - Search in Rotated Sorted Array(在旋转排序数组中搜索) - Search in Rotated Sorted Array II(在旋转排序数组中搜索II) - Find Minimum in Rotated Sorted Array(在旋转排序数组中寻找最小值) - Find Minimum in Rotated Sorted Array II(在旋转排序数组中寻找最小值II) - Median(中位数) ### 分析与总结 该文档是针对LeetCode和LintCode平台上的算法题目的整理与解答,主要分为两大部分: 1. **基础概念(Basics)**:这部分介绍了数据结构、排序算法、基本算法以及位操作等计算机科学的基础知识。通过学习这些内容,可以加深对算法原理的理解,并掌握如何有效地组织和处理数据。 - **数据结构**:包括了链表、二叉树、图等重要的数据结构,对于解决算法问题至关重要。 - **排序算法**:介绍了多种常见的排序算法,每种算法都有其适用场景和优缺点。 - **算法原理**:覆盖了分治法、二分查找、数学算法等,这些算法在解决复杂问题时非常有用。 - **位操作**:虽然看似简单,但在实际编程中经常被用于提高代码效率。 2. **编程实践(Coding)**:这部分涉及到了大量具体的编程题目,如字符串处理、数组操作、二分查找等,每个题目都提供了详细的解题思路和实现方法。通过解决这些问题,不仅能够提升编程技能,还能够锻炼逻辑思维能力。 整体来看,这份笔记旨在帮助读者系统地学习算法知识,提高解决实际问题的能力。无论是对于准备面试的技术人员还是想要深入研究算法的学生来说,都是一个非常宝贵的资源。
剩余965页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助