算法分析与设计
文章平均质量分 73
涉及算法实现、数据结构、程序设计相关内容
鹏阿鹏
软件工程本科,计算机硕士在读;兴趣:Java后端、Web前端、机器学习与算法。
展开
-
【双指针】滑动窗口经典例题 力扣
滑动窗口经典题原创 2023-10-06 17:48:33 · 355 阅读 · 0 评论 -
【动态规划】动态规划经典例题 力扣&牛客
牛客&力扣 经典动态规划题目原创 2023-09-30 20:55:05 · 526 阅读 · 0 评论 -
【双指针&遍历】N数之和问题
N数之和问题原创 2023-09-30 20:49:08 · 293 阅读 · 0 评论 -
【双指针】经典数组双指针题LeetCode
总结LeetCode中常见的双指针问题。原创 2023-08-20 22:55:50 · 468 阅读 · 0 评论 -
【链表】经典链表题LeetCode
LeetCode经典链表题原创 2023-08-13 18:57:43 · 538 阅读 · 0 评论 -
【遍历】非递归法 二叉树的前中后序遍历
二叉树的前序中序后序遍历,递归法和非递归法原创 2023-08-11 21:17:14 · 231 阅读 · 0 评论 -
【前缀和】LeetCode 560. 和为k的字数组
四种方法解决和为k的子数组问题,LeetCode560题。原创 2023-07-25 17:15:12 · 247 阅读 · 0 评论 -
【遍历】LeetCode二叉树的遍历、深度系列
LeetCode中树的前序、中序、后序遍历,以及树的最大最小深度等。原创 2023-07-06 14:37:41 · 300 阅读 · 0 评论 -
【位运算】CodeFun P1049 华东师大保研机试位运算
位运算巧解算法题原创 2023-05-18 14:59:52 · 699 阅读 · 0 评论 -
【BFS】LeetCode剑指OfferII 109开密码锁(字符串处理、BFS)
使用Java利用BFS框架解决密码锁问题LeetCode752,该题考察BFS思想及字符串的处理。原创 2023-05-16 21:28:03 · 516 阅读 · 0 评论 -
【BFS】华子20230506笔试第三题(动态迷宫问题)Java实现
动态地图的BFS题,笔试真题讲解。原创 2023-05-16 11:30:29 · 488 阅读 · 0 评论 -
【Java】进制转换
Java使用Integer静态方法转换各个进制原创 2023-05-07 13:56:17 · 114 阅读 · 0 评论 -
【算法导论】算法分析与设计_理论知识点(可用于备考)
汇集计算机算法领域常见知识点,可用于备考算法考试选择题、判断题等。原创 2023-05-04 11:41:02 · 838 阅读 · 0 评论 -
【图论】弗洛伊德Floyd算法模板及实战(LeetCode743)
给出Java版本的Floyd多源最短路径算法模板,并在LeetCode中实战。原创 2023-04-21 15:50:30 · 673 阅读 · 0 评论 -
【Java】程序设计算法的输入处理
Java输入int和string类型的代码示例。原创 2023-04-19 22:06:43 · 206 阅读 · 0 评论 -
【回溯】回溯算法的递归实现框架—经典例题Java实现详细注解
给出回溯算法的递归实现框架,同时给出两道经典例题(8皇后、全排列)的Java完整实现代码。原创 2023-03-21 20:38:48 · 474 阅读 · 0 评论 -
【DFS】Java解决The Castle城堡问题(IOI 1994、POJ1164)
通过递归法的深度优先搜索寻找极大联通子图的数量及大小。原创 2023-03-20 21:42:44 · 485 阅读 · 0 评论 -
【算法导论:回溯】两种方法解决八皇后问题N-Queens
算法导论中回溯法解决八皇后问题,提供Java两种实现方法。同时,附LeedCode51 N皇后代码。原创 2023-02-04 11:30:49 · 982 阅读 · 0 评论 -
【动态规划】最大连续字串(Java实现)
文章目录1. 题目描述2. 算法思路3. 代码实现1. 题目描述给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含 一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6 解释:连续子数组 [4,-1,2,1] 的和最大为 6。2. 算法思路方法 1:暴力求解法,使用两重循环,遍历遍历,然后求和,时间复杂度高方法 2:动态规划DP,使用辅助数组b[i]表示包括下标i之前原创 2022-04-21 23:13:39 · 769 阅读 · 0 评论 -
【贪心算法】算法导论—活动选择问题Activity-Selection (Java实现)
文章目录1 背景描述2 算法思路3 算法实现1 背景描述给你n个活动的开始时间和结束时间,从中选择你可以参与的活动,但是同一时间你只能参与一个活动,请找出你可以参与的最大活动数。2 算法思路贪心算法直接在每一步选择当前看来最好的选择。在选择开始时,选择活动结束时间最早的那个活动,这样能够给其他活动尽可能的腾出多余的时间。而后每一步都在剩余的活动中选取,也遵循类似的原则。在解决活动选择问题时,选择其余活动中完成时间最短的下一个活动,并且开始时间大于或等于先前所选活动的结束时间。我们可以根据他们的完成原创 2022-04-11 23:00:30 · 1171 阅读 · 0 评论 -
【动态规划】经典01背包问题-背包不可拆(Java实现)
文章目录1.1 背景描述1.2 算法思路1.3 算法实现1.1 背景描述给定 n 件物品,物品的重量为 w[i],物品的价值为 v[i]。现挑选物品放入背包中,假定背包能承受的最大重量为capacity ,问应该如何选择装入背包中的物品,使得装入背包中物品的总价值最大?1.2 算法思路定义一个数据dp[i][w],表示装入前i个物品,背包容量剩余w时能装入的最大价值。因此,假设我们有5件商品,背包容量11时,那么我们只需要求出dp[5][11]即可。找出递推公式:当i和w都为0时,当前情况下能原创 2022-04-11 22:40:21 · 483 阅读 · 0 评论