# programming-demo **Repository Path**: demo_44/programming-demo ## Basic Information - **Project Name**: programming-demo - **Description**: 算法题 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-05 - **Last Updated**: 2024-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 算法题 ## leetcode题列表 | 序号 | 标题 | 难度 | 标签 | |------|-----------------------|----|---------------------------| | 1 | 两数之和 | 简单 | 数组、哈希表 | | 2 | 两数相加 | 中等 | 递归、链表、数字 | | 3 | 无重复字符的最长子串 | 中等 | 哈希表、字符串、滑动窗口 | | 5 | 最长回文子串 | 中等 | 双指针、字符串、动态规划 | | 6 | Z 字形变换 | 中等 | 数学 | | 7 | 整数反转 | 中等 | 字符串 | | 8 | 字符串转换整数 (atoi) | 中等 | 字符串 | | 9 | 回文数 | 中等 | 数学 | | 10 | 正则表达式匹配 | 困难 | 递归、字符串、动态规划 | | 11 | 盛最多水的容器 | 中等 | 贪心、数组、双指针 | | 12 | 整数转罗马数字 | 中等 | 哈希表、数学、字符串 | | 15 | 三数之和 | 中等 | 数组、双指针、排序 | | 16 | 最接近的三数之和 | 中等 | 数组、双指针、排序 | | 18 | 四数之和 | 中等 | 数组、双指针、排序 | | 19 | 删除链表的倒数第N个结点 | 中等 | 链表、双指针 | | 20 | 有效的括号 | 简单 | 栈、字符串 | | 22 | 括号生成 | 中等 | 递归、链表 | | 24 | 两两交换链表中的节点 | 中等 | 递归、链表 | | 25 | K个一组翻转链表 | 中等 | 数组、双指针、排序 | | 27 | 移除元素 | 简单 | 数组、双指针 | | 28 | 找出字符串中第一个匹配项的下标 | 简单 | 双指针、字符串、字符串匹配 | | 30 | 串联所有单词的子串 | 困难 | 哈希表、字符串、滑动窗口 | | 31 | 下一个排列 | 中等 | 数组、双指针 | | 32 | 最长有效括号 | 困难 | 栈、动态规划 | | 33 | 搜索旋转排序数组 | 中等 | 数组、二分查找 | | 34 | 在排序数组中查找元素的第一个和最后一个位置 | 中等 | 数组、二分查找 | | 35 | 搜索插入位置 | 简单 | 数组、二分查找 | | 36 | 有效的数独 | 中等 | 数组、哈希表、矩阵 | | 38 | 外观数列 | 中等 | 字符串、数列 | | 39 | 组合总和 | 中等 | 数组、回溯 | | 40 | 组合总和II | 中等 | 数组、回溯 | | 41 | 缺失的第一个正数 | 困难 | 数组、哈希表 | | 42 | 接雨水 | 困难 | 栈、数组、双指针、动态规划、单调栈 | | 43 | 字符串相乘 | 中等 | 数字、字符串、模拟 | | 44 | 通配符匹配 | 困难 | 贪心、递归、字符串、动态规划 | | 45 | 跳跃游戏II | 中等 | 贪心、数组、动态规划 | | 46 | 全排列 | 中等 | 数组、回溯 | | 47 | 全排列II | 中等 | 数组、回溯 | | 48 | 旋转图像 | 中等 | 数组、数学、矩阵 | | 49 | 字母异位词分组 | 中等 | 数组、哈希表、字符串、排序 | | 50 | Pow(x, n) | 中等 | 递归、数学 | | 53 | 最大子数组和 | 中等 | 数组、分治、动态规划 | | 54 | 螺旋矩阵 | 中等 | 数组、矩阵、模拟 | | 55 | 跳跃游戏 | 中等 | 贪心、数组、动态规划 | | 56 | 合并区间 | 中等 | 数组、排序 | | 57 | 插入区间 | 中等 | 数组 | | 59 | 螺旋矩阵II | 中等 | 数组、矩阵、模拟 | | 60 | 排列序列 | 困难 | 递归、数学 | | 61 | 旋转链表 | 中等 | 链表、双指针 | | 62 | 不同路径 | 中等 | 数学、动态规划、组合数学 | | 63 | 不同路径 II | 中等 | 数学、动态规划、矩阵 | | 70 | 爬楼梯 | 简单 | 记忆化搜索、数学、动态规划 | | 94 | 二叉树的中序遍历 | 简单 | 栈、树、深度优先搜索、二叉树 | | 98 | 验证二叉搜索树 | 中等 | 树、深度优先搜索、二叉搜索树、二叉树 | | 101 | 对称二叉树 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 102 | 二叉树的层序遍历 | 中等 | 树、广度优先搜索、二叉树 | | 104 | 二叉树的最大深度 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 106 | 从中序与后序遍历序列构造二叉树 | 中等 | 树、数组、哈希表、分治、二叉树 | | 108 | 将有序数组转换为二叉搜索树 | 简单 | 树、二叉搜索树、数组、分治、二叉树 | | 112 | 路径总和 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 110 | 平衡二叉树 | 简单 | 树、深度优先搜索、二叉树 | | 111 | 二叉树的最小深度 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 121 | 买卖股票的最佳时机 | 简单 | 数组、动态规划 | | 122 | 买卖股票的最佳时机II | 中等 | 贪心、数组、动态规划 | | 134 | 加油站 | 中等 | 贪心、数组 | | 142 | 环形链表II | 中等 | 哈希表、链表、双指针 | | 144 | 二叉树的前序遍历 | 简单 | 栈、树、深度优先搜索、二叉树 | | 145 | 二叉树的后序遍历 | 简单 | 栈、树、深度优先搜索、二叉树 | | 150 | 逆波兰表达式求值 | 中等 | 栈、数组、数学 | | 151 | 反转字符串中的单词 | 中等 | 双指针、字符串 | | 203 | 移除链表元素 | 简单 | 递归、链表 | | 206 | 反转链表 | 简单 | 递归、链表 | | 209 | 长度最小的子数组 | 中等 | 数组、二分查找、前缀和、滑动窗口 | | 222 | 完全二叉树的节点个数 | 简单 | 位运算、树、二分查找、二叉树 | | 225 | 用队列实现栈 | 简单 | 栈、设计、队列 | | 226 | 翻转二叉树 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 232 | 用栈实现队列 | 简单 | 栈、设计、队列 | | 235 | 二叉搜索树的最近公共祖先 | 中等 | 树、深度优先搜索、二叉搜索树、二叉树 | | 236 | 二叉树的最近公共祖先 | 中等 | 树、深度优先搜索、二叉树 | | 242 | 有效的字母异位词 | 简单 | 哈希表、字符串、排序 | | 257 | 二叉树的所有路径 | 简单 | 树、深度优先搜索、字符串、回溯、二叉树 | | 344 | 反转字符串 | 简单 | 双指针、字符串 | | 349 | 两个数组的交集 | 简单 | 数组、哈希表、双指针、二分查找、排序 | | 376 | 摆动序列 | 中等 | 贪心、数组、动态规划 | | 404 | 左叶子之和 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 416 | 分割等和子集 | 中等 | 数组、动态规划 | | 450 | 删除二叉搜索树中的节点 | 中等 | 树、二叉搜索树、二叉树 | | 454 | 四数相加II | 中等 | 数组、哈希表 | | 455 | 分发饼干 | 简单 | 贪心、数组、双指针、排序 | | 459 | 重复的子字符串 | 简单 | 字符串、字符串匹配 | | 501 | 二叉搜索树中的众数 | 简单 | 树、深度优先搜索、二叉搜索树、二叉树 | | 509 | 斐波那契数 | 简单 | 递归、记忆化搜索、数学、动态规划 | | 513 | 找树左下角的值 | 中等 | 树、深度优先搜索、广度优先搜索、二叉树 | | 530 | 二叉搜索树的最小绝对差 | 简单 | 树、深度优先搜索、广度优先搜索、二叉搜索树、二叉树 | | 538 | 把二叉搜索树转换为累加树 | 中等 | 树、深度优先搜索、二叉搜索树、二叉树 | | 541 | 反转字符串II | 简单 | 双指针、字符串 | | 617 | 合并二叉树 | 简单 | 树、深度优先搜索、广度优先搜索、二叉树 | | 654 | 最大二叉树 | 中等 | 栈、树、数组、分治、二叉树、单调栈 | | 669 | 修剪二叉搜索树 | 中等 | 树、深度优先搜索、二叉搜索树、二叉树 | | 700 | 二叉搜索树中的搜索 | 简单 | 树、二叉搜索树、二叉树 | | 701 | 二叉搜索树中的插入操作 | 中等 | 树、二叉搜索树、二叉树 | | 704 | 二分查找 | 简单 | 数组、二分查找 | | 707 | 设计链表 | 中等 | 设计、链表 | | 746 | 使用最小花费爬楼梯 | 简单 | 数组、动态规划 | | 977 | 有序数组的平方 | 简单 | 数组、双指针、排序 | | 1005 | K次取反后最大化的数组和 | 简单 | 贪心、数组、排序 | | 1047 | 删除字符串中的所有相邻重复项 | 简单 | 栈、字符串 | | 1226 | 哲学家进餐 | 中等 | 多线程 | ## nowcoder题列表 ## 面试题 | 序号 | 公司 | 标题 | 标签 | |----|-------|--------------|---------------| | 1 | 阿里 | 哲学家进餐 | 线程、面向对象 | | 2 | 华为 | 线程交替输出 | 线程、面向对象 | | 3 | Veeva | 计算日期在本年第几天 | 日期、闰年 | | 4 | 阿里 | 多线程多文件单词数量统计 | 多线程、WordCount | | 5 | 阿里 | 多线程转账多次 | 多线程 | ## 华为研发工程师编程题 | 序号 | 标题 | 难度 | 标签 | |----|--------|----|----| | 1 | 汽水瓶 | | | | 2 | 明明的随机数 | | | | 3 | 进制转换 | | | | 4 | 最高分是多少 | | | | 5 | 简单错误记录 | | | | 6 | 扑克牌大小 | | | | 7 | 删数 | | | | 8 | 字符集合 | | | ## 其他题 | 序号 | 标题 | 难度 | 标签 | 备注 | |----|------------|----|----------|------------------------------------------------------------------| | 1 | 迪杰斯特拉_最短路径 | | Dijkstra | [路径问题](./src/main/java/com/hc/programming/path/迪杰斯特拉-最短路径问题.png) | ## 排序 | 序号 | 标题 | 难度 | 标签 | |----|-----------|----|----| | 1 | QuickSort | | 快排 |