![](https://img-blog.csdnimg.cn/68a80cf3625e48228126fb2f55394497.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
蓝桥杯
文章平均质量分 66
蓝桥杯常用算法及例题详解。
求不脱发
路漫漫其修远兮。
展开
-
【蓝桥杯】高频算法考点及真题详解小结
🙊🙊作者主页:🔗求不脱发的博客📔📔 精选专栏:🔗SSM直击大厂📋📋 精彩摘要:蓝桥杯高频算法考点小结包括各大算法、排序算法及图的优先遍历原则知识点小结。预祝大家取得优异成绩。💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞📚目录📖【蓝桥杯】高频算法考点及例题详解小结📝1️⃣贪心算法之区间问题详解📝2️⃣动态规划之经典包子凑数📝3️⃣动态规划解决最大乘积系列问题(碾压暴力枚举)📝4️⃣分治算法实现经典归并排序📝5️⃣枚举算法经典日期问题详解📝6️⃣.原创 2022-04-07 18:09:40 · 7606 阅读 · 155 评论 -
枚举算法经典日期问题详解java
目录枚举算法日期问题枚举思想具体代码枚举算法枚举算法是我们在日常中使用到的最多的一个算法,它的核心思想就是:枚举所有的可能。 枚举法的本质就是从所有候选答案中去搜索正确的解。使用该算法需要满足两个条件:(1)可预先确定候选答案的数量;(2)候选答案的范围在求解之前必须有一个确定的集合。枚举算法简单粗暴,他暴力的枚举所有可能,尽可能地尝试所有的方法。虽然枚举算法非常暴力,而且速度可能很慢,但确实我们最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。日原创 2022-03-26 15:03:36 · 791 阅读 · 36 评论 -
动态规划dp算法经典包子凑数java
目录题目包子凑数动态规划思想具体代码题目包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有NN种蒸笼,其中第ii种蒸笼恰好能放A_iAi个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买XX个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有XX个包子。比如一共有33种蒸笼,分别能放3、43、4和55个包子。当顾客想买1111个包子时,大叔就会选22笼33个的再加11笼55个的(也可能选出11笼33个的再加22笼44个的)。...原创 2022-03-24 20:40:48 · 2907 阅读 · 45 评论 -
迪杰斯特拉 (Dijkstra)算法求最短路径问题
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2022/3/23 Time: 14:38 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> .原创 2022-03-23 15:13:46 · 9324 阅读 · 41 评论 -
贪心算法之区间问题详解
目录1.贪心算法简介基本思想局限性2.经典例题区间问题贪心策略3.代码1.贪心算法简介基本思想1)贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。2)贪婪算法所得到的结果不一定是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。局限性贪心算法失效的很大一个原因在于它明显的局限性:它几乎只考虑局部最优解。 所谓局部最优,就是只考虑当前的最大利益,既原创 2022-03-19 16:27:05 · 2730 阅读 · 28 评论 -
分治算法实现经典归并排序java实现
目录1.什么是分治算法分治法基本思想2.分治算法的体现:归并排序归并排序基本思想3.代码实现1.什么是分治算法分治法分治法,字面意思是“分而治之”,就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础,例如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)等。基本思想分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模原创 2022-03-18 17:22:18 · 2399 阅读 · 28 评论 -
动态规划解决最大乘积系列问题(碾压暴力枚举)java
1.例题题目描述输入n个元素组成的子串S,你需要找出一个乘积最大的连续的子串。如果这个最大的乘积不是正数,应输出0(表示无解)。输入第一行是一个整数n(1<=n<=18)。第二行是n个整数。其中每个整数的范围是[-10,10]。输出输出一行包含一个整数,输出最大乘积。测试数据见代码。2. 思路分析基本思想题目类似背包问题,,其基本思想可以使用动态规划:记住已经解决过的子问题的解。求解,即在遍历数据的时候,将遍历过程中求得的最大乘积记录下来,..原创 2022-03-16 20:03:24 · 1385 阅读 · 38 评论 -
BFS广搜解决迷宫问题java实现
目录1.例题题目描述输入输出测试数据2. 思路分析基本思想具体步骤代码实现3.BFS小结求解思路:注意1.例题题目描述迷宫由 n 行 m 列的单元格组成,每个单元格要么是空地,要么是障碍物。其中1表示空地,可以走通,2表示障碍物。给定起点坐标startx,starty以及终点坐标endx,endy。现请你找到一条从起点到终点的最短路径长度。输入第一行包含两个整数n,m(1<=n,m<=1000)。接下来 n 行,每行包含..原创 2022-03-15 18:54:22 · 4626 阅读 · 33 评论 -
DFS之方格分割java
问题描述6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。试计算:一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。具体思路既然要求剪下来的两部分完全相同,那么剪的路线一定通过图的中心点,并且分割线一定关于中心点对称。因此可以以图中的交点为元素,将6*6的方格转换成7*7的网格,从中心点开始对称的向边界dfs深度遍历,即从中心点开始向上下左右标记的同时,对称的位置也要标记。例如(3,3)...原创 2022-03-13 16:57:18 · 1183 阅读 · 14 评论 -
连通块(dfs)java实现
目录前言例题链接什么是连通块具体思路代码注意前言连通块问题属于图的深度优先遍历dfs,本文章通过求连通块的个数简单案例,来介绍dfs解决连通块问题。例题链接http://oj.hzjingma.com/p/29?view=classic例题中给到的是char类型地图,' . ' 代表不通路,' W ' 代表可连通,具体情况根据题目给的进行修改。什么是连通块如图整个表格为一个5*5二维数组,用来表示整个地图,白色填充为二维数组下标,最外层浅绿色代...原创 2022-03-12 21:26:31 · 2860 阅读 · 20 评论