
手撸代码系列
文章平均质量分 91
诗9趁年华
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手撸代码系列(十九)--贪心专题
动态规划和贪心算法都是一种递推算法,均用局部最优解来推导全局最优解;是对遍历解空间的一种优化,当问题具有最优子结构时,可用动规,而贪心是动规的的特例。贪心:遵循某种规则,不断(贪心地)选取当前最优策略,最终找到最优解。题目一: 硬币问题问题描述: 有1元,5元,10元,50元,100元,500元的硬币各c1c_1c1, c5c_5c5, c10c_{10}c10, c50c_{50}c50, c100c_{100}c100, c500c_{500}c500枚;现在要使用这些硬币原创 2021-10-05 16:37:13 · 324 阅读 · 2 评论 -
手撸代码系列(十七)--利用栈检查括号是否匹配
设计一个算法判定括号是否正确配对(包括三种括号并且需要考虑大中小三种括号的嵌套顺序)。算法思想:出现左括弧,进栈出现右括弧,先判断栈是否为空(1)如果不为空,看是否匹配栈顶括号。 (a)如果匹配,栈顶元素出栈。最后检查栈是否空,如果为空,匹配成功,否则不匹配import java.util.Scanner;import java.util.Stack;public class Main{ public static void input(){ Scanne原创 2020-10-27 08:58:22 · 261 阅读 · 0 评论 -
手撸代码系列(十六)--二维数组的顺时针、逆时针的遍历
java语言实现二维数组的顺时针、逆时针的遍历// 逆时针打印数组public class Main { public static void main(String[] args) { int[][] matrix = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};原创 2020-10-26 11:15:35 · 791 阅读 · 0 评论 -
手撸代码系列(四)
第四期:实现一个算法打印出n对括号的有效组合(递归法)此博客根据哔哩哔哩中蓝桥杯相关视频,仅用于自己学习,如有侵犯版权,立马删除。题目分析:以n=3为例第一步: 我们需要借助Set集合装所有符合要求的括号。第二步:当n=1时,在空集合Set中先添加一个括号,为 [()],记为S1{S_1}S1。第三步:当n=2时,对集合S1{S_1}S1中的元素,分别在其左边,右边,和外面添加一个括...原创 2020-03-14 13:43:35 · 235 阅读 · 0 评论 -
手撸代码系列(三)
第三期:实现一个算法打印出n对括号的有效组合(递归法)此博客根据哔哩哔哩中蓝桥杯相关视频,仅用于自己学习,如有侵犯版权,立马删除。题目分析:以n=3为例第一步: 我们需要借助Set集合装所有符合要求的括号。第二步:当n=1时,在空集合Set中先添加一个括号,为 [()],记为S1{S_1}S1。第三步:当n=2时,对集合S1{S_1}S1中的元素,分别在其左边,右边,和外面添加一个括...原创 2020-03-13 10:15:39 · 269 阅读 · 0 评论 -
手撸代码系列(二)之快速排序
第二期:快速排序(与严老教程略有差异)此博客根据哔哩哔哩教学视频整理,仅用于自己学习,如有侵犯版权,立马删除。题目分析:快速排序(Quicksort)是对冒泡排序的一种改进。以从小到大排序为例进行分析。快速排序采用双向查找的策略,每一趟选择当前所有子序列中的一个关键字作为枢纽轴,将子序列中比枢纽轴小的前移,比枢纽轴大的后移,当本趟所有子序列都被枢轴按上述规则划分完毕后将会得到新的一组更短的子...原创 2020-03-12 10:48:42 · 246 阅读 · 0 评论 -
手撸代码系列(一)之直接选择排序
第一期:直接选择排序题目分析:以从小到大排序为例进行分析。直接选择排序的思想是每遍历一遍,对所有元素进行两两比较并从中选出最小的一个数。将目前选出的最小值和最前面未排好序的元素进行交换。直到所有元素排序好。示例:{4,2,1,9,8}第一遍: 从第一个元素4开始,将4和剩余元素一一比较,选出最小元素为1,那么4和1进行交换,得到的序列为{1,2,4,9,8}第二遍: 从第二个元素2开始,...原创 2020-03-11 09:56:55 · 341 阅读 · 0 评论 -
手撸代码系列(十四)--二叉树的遍历
二叉树的遍历import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class BinTree { // 内部类,定义二叉树的结点 class TreeNode{ public String val; public TreeNode l...原创 2020-04-23 21:46:57 · 199 阅读 · 0 评论 -
手撸代码系列(十一)--DFS专题
DFS介绍 深度优先搜索(Depth First Search,简称DFS) 属于图算法的一种。其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。基本模板: 对于一个标准的DFS模板而言,其包括了以下的内容:void dfs(int step){ 判断边界{ 相应操作 } 尝...原创 2020-04-23 22:06:28 · 341 阅读 · 0 评论