渐进式收集整理算法相关知识比如高频算法题、手动实现数据结构如堆、栈、队列、链表、哈希表、二叉树、平衡搜索二叉树、红黑树、图等:
下面基础算法题来自力扣、豆包等渠道,链接了原文地址同时附带自己的解题思路,部分题目附图解。
📢📢📢 注意 📢
- 每个题目的目录附带对应的 md 文档 和 题解,部分附带 xx.dio 图解
- 请关注 ts 文件,忽略 js 文件,js 文件是为方便本地测试用 tsx 自动转译生成的
- 求最长连续递增子序列-78-findLenOfIncreaseSubSeq ✅
- 爬楼梯-78-climbStairs ✅
- 判断数组中是否存在重复元素-217-containsDuplicate ✅
- 找出字符串中第一个匹配项的下标-28-findFirstIdxInStr ✅
- 字符串中的第一个唯一字符-387-firstUniqChar ✅
- 求两数组的交集-力扣-350-intersectOfTwoArray ✅
- 验证回文字符串-125-isPalindrome ✅
- 有效的括号-20-isValidBrackets ✅
- 最长的公共前缀-14-longCommonPrefix ✅
- 合并两个有序数组-88-mergeArray ✅
- 合并两个升序链表-21-mergeTwoLists ✅
- 加一-66-plusOne ✅
- 删除有序数组中的重复项-26-removeSame ✅
- 反转字符串-344-reverseString ✅
- 罗马数字转整数-13-remanToInt ✅
- 求 x 的平方根-69-sqrt ✅
- 求两数之和是否等于 target-1-sum ✅
- 两个字符串中相同字数-twoStrHaveSameCount ✅
- 杨辉三角-118-yanghuiTriangle ✅
- 小 U 的数字插入问题-numberInsert ✅
- 买卖股票的最佳时机-121-maxProfitOfStock ✅
- fizzBuzz-412-fizzBuzz ✅
- 是否是 3 的幂-326-isPowerOfThree ✅
- 缺失的数字-268-missingNumber ✅
- 符串解密加扰字符串-findValidStr ✅
- 分割字符串-splitString ✅
- 寻找一个数的所有质数因子-findPrimeFactor ✅
- 将一个十进制数转换为二进制-switchBinary ✅
- 小人坐标移动位置计算-removePosition ✅
- 学生成绩排序-华为笔试题 HJ68-sortScore ✅
- 计算全排列 77-permutation ✅
- 计算组合 77-calculateCombine ✅
- 两数相加-2-addTwoNumNumbers ✅
- 求无重复最长子串-3-lengthOfLongestSubstring ✅
- 最少前缀操作问题-lessCount ✅
- 最小调整次数-华为笔试题-minAdjustments ✅
- 二进制不进位等分苹果-华为笔试题-divideApple ✅
- 部分人力分配-华为笔试题-calculateResult ✅
- 密码验证合格程序-华为笔试题-checkPassword ✅
- 整数或 ip 地址转换-华为笔试题-ipConvert ✅
- 查找兄弟单词-华为笔试题 HJ27-findBrotherWord ✅
- 合并区间-华为笔试题 NC37-mergeScope ✅
部分赋了类似如下的 dio 图解思路,其它的会逐步补充完整~
手动实现数据结构如堆、栈、哈希表、链表、二叉树、平衡搜索二叉树、图等还在逐步整理中...
二、线性结构
- 数组
- 栈
- 队列
- 链表 ...
三、哈希表
- 哈希表的类型
- 哈希表的实现
- 哈希表的实现地址冲突的解决方案 ...
四、 树
- 二叉树
- 二叉搜索树
- 红黑树 ...
五、图
- 图的表示
- 图的遍历
- 最短路径算法
- 最小生成树算法 ...
六、排序算法
- 冒泡排序
- 选择排序
- 插入排序
- 归并排序
- 快速排序
- 希尔排序
- 堆排序
- 计数排序
- 桶排序
- 基数排序 ...
七、查找算法