![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯算法课
文章平均质量分 86
主要更新一些c/c++算法知识点;
接受平凡 努力出众
执行力,就是生命力!
展开
-
<<算法很美>>——(七)——DFS典题(二):数独游戏
目录问题描述问题分析放码过来:问题描述如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有已知数据的格式都是合法的,并且题目有唯一的解。格式要求,输入9...原创 2022-04-04 08:34:07 · 938 阅读 · 6 评论 -
<<算法很美>>——(七)——DFS典题(一):水洼数目
目录问题描述问题分析放码过来问题描述有一个大小为N×MN×M N\times MN×M的园子,雨后积起了水。八连通的积水被认为是连接在一起的。请求出园子里总共有多少水洼?八连通指的是下图中相对W的∗部分,‘W’表示积水,’ * '表示没有积水。∗∗∗∗W∗∗∗∗输入样例10 12W********WW**WWW*****WWW****WW***WW**********WW**********W****W******W***W*W*****WW*原创 2022-04-03 16:37:28 · 1198 阅读 · 7 评论 -
<<算法很美>>——(六)——回溯算法(下)—N皇后问题
原创 2022-04-03 11:42:54 · 829 阅读 · 8 评论 -
<<算法很美>>——(五)——回溯算法核心框架(上)
目录前言基本概念基本框架例题:全排列前言本篇博客来自回溯算法解题套路框架 :: labuladong的算法小抄 (gitee.io),想在此做个学习笔记和大家共同学习,加深印象.视频版:【labuladong】回溯算法核心套路详解_哔哩哔哩_bilibili基本概念回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索.原创 2022-03-31 17:29:10 · 1902 阅读 · 8 评论 -
<<算法很美>>——(四)——深入递归<二>——“逐步生成结果“类问题之非数值型
目录合法括号所有子集合法括号思路:首先我们要找出规律,然后写出递归式。这个题通过画图我们会得到Sn={对Sn-1中每个元素进行添左,添右,添包,左和右肯定会重复,我们可以用STL标准库中的set进行去重.递归#include<iostream>#include<set>using namespace std;set<string> generateParenthesis(int n) { set<string&g.原创 2022-03-31 00:30:12 · 490 阅读 · 7 评论 -
<<算法很美>>——(四)——深入递归<一>——自上而下,自下而上
目录前言上楼梯机器人走方格前言接着上篇博客详解递归思想我们继续更深入地分析递归,本篇主要更加深入讲解上篇的自下而上和自上而下思想.啥叫「自顶向下」?是从上向下延伸,都是从一个规模较大的原问题比如说 f(20),向下逐渐分解规模,直到 f(1) 和 f(2) 这两个 base case,然后逐层返回答案,这就叫「自顶向下」。啥叫「自底向上」?反过来,我们直接从最底下、最简单、问题规模最小、已知结果的 f(1) 和 f(2)(base case)开始往上推,直到推到我...原创 2022-03-30 20:54:18 · 1754 阅读 · 9 评论 -
<<算法很美>>——(三)十大排序算法(下)
目录1.奇数在左偶数在右2.最快效率求出乱序数组中第k小的数3.数组中有一个数字出现次数超过数组长度一半4.合并两个有序数组5.数组中的逆序对6.排序数组中两个数字之和7. 解决员工年龄问题8. 拓展:把数组排成最小的数1.奇数在左偶数在右给定一个数列A,试将其变为奇数在左偶数在右的形式。例如A=[12,8,7,5,6,11],则变换后的A'=[11,5,7,8,6,12]只需要先奇数后偶数即可,不需要排序。思路: 题目要求奇数在...原创 2022-03-30 12:19:47 · 2905 阅读 · 15 评论 -
<<算法很美>>——(三)十大排序算法(上)
目录前言冒泡排序图解冒泡代码实现冒泡优化选择排序图解选排代码实现插入排序图解插入代码实现希尔排序图解希尔代码实现:归并排序图解归并代码实现快速排序图解快排前言原来在前面数据结构与算法那里整理了七大常见算法,现在打算在其基础上再增加三个算法供大家伙参考。冒泡排序*比较相邻的元素。如果第一个比第二个大,就交换它们两个;*对每一对相邻元素作同样的工作,从...原创 2022-03-30 01:06:34 · 555 阅读 · 7 评论 -
<<算法很美>>——(二)详解递归思想
目录前言递归的基本概念递归的三大要素切蛋糕思维:递归简单练习题巧用递推公式解最大公约数别有洞天:递归形式进行插入排序二分查找的递归解法多分支递归:斐波那契数列浅谈递归的一些优化思路题目实战最后总结前言刚开始接触递归的时候会,我相信大部分小伙伴肯定和我一样一脸懵,又感叹太神奇了,这么短短的几行代码,竟然做了这么多事。其实我们不要畏惧它就很好学了,无非就是思考递归边界和递归式这两个概念如何运用.把原问题分解为若干个子问题,我们只要写出递归式.原创 2022-03-26 15:21:25 · 6890 阅读 · 14 评论 -
<<算法很美>>——(一)常用位操作
目录1. 位运算与进制基础2. 几个有趣的位操作3. 运用n&(n-1)一题三解:二进制中1的个数判断一个数是不是2的指数牛刀小试4. 运用a^a=0找出落单的数牛刀小试5. 位运算思维提升将整数的奇偶位互换二进制表示浮点实数出现K次与出现一次1. 位运算与进制基础位运算的奇淫技巧:判断奇偶数 获取二进制位是1或0 交换两个整数变量的值 不用判断语句,求整数的绝对值 >>和<<运算符将二进制位进行原创 2022-03-24 12:42:50 · 1219 阅读 · 13 评论