算法目录

目录

数据结构相关

算法思想


数据结构相关

链表:  ok

       26、80、82、83. 删除数组/链表中的重复项

       88、21. 合并两个有序数组/链表

       9. 回文数、125. 验证回文串、234. 回文链表

       160. 相交链表

       27. 移除元素、283. 移动零、237. 删除链表中的节点、203. 移除链表元素

       206. 反转链表、19. 删除链表的倒数第N个节点、24. 两两交换链表中的节点

       2. 两数相加、445. 两数相加 II、415. 字符串相加

       725. 分隔链表、328. 奇偶链表

       141. 环形链表

 

树:

       经典算法-B树&B+树&B*树(B Tree&B+ Tree&B Star Tree)

       95. 不同的二叉搜索树 II

       104. 二叉树的最大深度、110. 平衡二叉树

       543. 二叉树的直径、226. 翻转二叉树

       617. 合并二叉树

       112. 路径总和、437. 路径总和 III

       572. 另一个树的子树

       101. 对称二叉树

 

栈和队列:  ok

       232. 用栈实现队列、225. 用队列实现栈

       739. 每日温度、503. 下一个更大元素 II、496. 下一个更大元素 I

       155. 最小栈

 

哈希表:  ok

       1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)

       128. 最长连续序列

 

字符串:  ok

       9. 回文数、125. 验证回文串、234. 回文链表

       38. 报数

       2. 两数相加、445. 两数相加 II、415. 字符串相加

       242. 有效的字母异位词、409. 最长回文串、205. 同构字符串

       647. 回文子串、696. 计数二进制子串 

       151. 翻转字符串里的单词

       5. 最长回文子串(中心拓展法、马拉车算法)

 

数组与矩阵:  ok

       349、350. 两个数组的交集

       26、80、82、83. 删除数组/链表中的重复项

       20. 有效的括号

       88、21. 合并两个有序数组/链表

       27. 移除元素、283. 移动零、237. 删除链表中的节点、203. 移除链表元素

       566. 重塑矩阵、485. 最大连续1的个数、240. 搜索二维矩阵 II

       697. 数组的度

       645. 错误的集合、766. 托普利茨矩阵

       565. 数组嵌套、769. 最多能完成排序的块、667. 优美的排列 II

       378. 有序矩阵中第K小的元素、287. 寻找重复数

       38. 报数

 

图:

 

 

位运算:  ok

       位运算总结-461. 汉明距离、268. 缺失数字

       136、137、260. 只出现一次的数字I、 II、 III

       190. 颠倒二进制位

       231. 2的幂

       326. 3的幂、342. 4的幂

       不用额外变量交换两个整数(by-liupc)

       693. 交替位二进制数、476. 数字的补数、371. 两整数之和

       338. 比特位计数、318. 最大单词长度乘积

 

数学:

       231. 2的幂

       326. 3的幂、342. 4的幂

       204. 计数质数(生成素数序列)

 

算法思想

双指针:  ok

       167. 两数之和 II - 输入有序数组、

       633. 平方数之和、

       345. 反转字符串中的元音字母 

       680. 验证回文字符串 Ⅱ

       88、21. 合并两个有序数组/链表

       141. 环形链表

       524. 通过删除字母匹配到字典里最长单词

 

 

排序:  还有一个题451

       经典排序算法java实现

       215. 数组中的第K个最大元素

       75. 颜色分类(荷兰国旗问题)

       347. 前K个高频元素

 

贪心思想:

 

二分查找:  ok

       69. x 的平方根、744. 寻找比目标字母大的最小字母、278. 第一个错误的版本

       540、153、34. 有序数组中查找元素(二分查找)

 

分治:

       经典排序算法java实现-归并排序、快速排序

       241. 为运算表达式设计优先级

       95. 不同的二叉搜索树 II

       53. 最大子序和

 

 

搜索:

 

动态规划:

       516. 最长回文子序列

       5. 最长回文子串(中心拓展法、马拉车算法)

       343. 整数拆分

       198. 打家劫舍、213. 打家劫舍 II

       343. 整数拆分

       70. 爬楼梯

       91. 解码方法

       64. 最小路径和

       62. 不同路径、63. 不同路径 II

       

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值