#include<iostream>
#include<vector>
using namespace std;
//汉诺塔
void Hano(int n,char A,char B,char C)
{
if(n==1)
{
cout<<A<<"---->"<<C<<endl;
}
else
{
Hano(n-1,A,C,B);
cout<<A<<"---->"<<C<<endl;
Hano(n-1,B,A,C);
}
}
int count=0;
//括号匹配
void Bracket(char *p,int index,int leftBracket,int rightBracket,int maxIndex)
{
if(rightBracket<0 || leftBracket<0)
return;
if(index>maxIndex)
{
for(int t=0;t<=maxIndex;t++)
cout<<" "<<p[t];
cout<<endl;
count++;
return;
}
if(leftBracket==rightBracket)
{
p[index]='(';
Bracket(p,index+1,leftBracket-1,rightBracket,maxIndex);
}
else if(leftBracket<rightBracket)
{
p[index]='(';
Bracket(p,index+1,leftBracket-1,rightBracket,maxIndex);
p[index]=')';
Bracket(p,index+1,leftBracket,rightBracket-1,maxIndex);
}
}
int main()
{
// Hano(5,'a','b','c');
char *p=new char[12];
Bracket(p,0,6,6,11);
cout<<"count"<<count<<endl;
return 0;
}
相关推荐
进程调度——简单轮转算法
#include #include #include typedef struct process{//进程控制块 int symbol;//进程标识符 struct process *next;//指向下一个进程的指针,也是只赋了值 int neednum;//进程所需要运行的时间 int cpunum;//占用cpu的时间,初始值为0 i
常见的10种算法
Hash,一般翻译做散列、杂凑,或音译为哈希,是一个典型的利用空间换取时间的算法,把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。如有一个学生信息表:学生的学号为:年纪+学院号+班级号+顺序排序号【如:19(年纪)+002(2号学院)+01(一班)+17(17号)---à190020117】类似于一个这样的信息,
串—BF算法(简单匹配算法)
串的模式匹配: 查找模式串 t 是不是目标串 s 的子串,如果模式匹配成功(在目标串s中找到一个模式串t),t 是s 的字串,返回 t 在 s 中的位置;如果模式匹配不成功,t 不是 s 的子串, 返回 -1. 方法: BF算法,也称为简单匹配算法。 采用穷举的思路。从s的每一个字符开始依次与t的字符进行匹配。 基本思路: 1、从目标串s = "s0 s1…s n-1"的第一个字符开始和模式串t ...
常见基础算法
滑动窗口无法解决存在负值的问题,存在负值的问题,可以考虑使用前缀和方法进行求解。这个题目中,最长子串就是要满足的条件,同时也满足连续子数组的要求。双指针求最大值,始终按照固定的规则来选择移动其中一个指针。双指针的题型是不固定的,题型多变,需要灵活的运用。相邻的数据进行比较。每次遍历找到一个最大值。用于求解满足特定条件的连续子数组问题。双指针就是通过移动指针来。面试常见动态规划问题。
HyperMesh实战:用Field工具搞定复杂载荷映射(附TCL脚本示例)
本文深入探讨了HyperMesh中Field工具在复杂载荷映射中的高级应用,包括从CSV到有限元网格的温度场映射全流程、稀疏数据处理技巧及TCL自动化脚本示例。通过Field工具,工程师可以高效实现CFD温度场到结构网格的精准映射,显著提升有限元分析的精度与效率。
Spring Cloud Gateway 结合OAuth2提供UAA服务
微服务做用户认证和授权一直都是一个难点,随着OAuth2.0的密码模式被作废,更是难上加难了。今天胖哥群里的一个群友搭建用户认证授权体系的时候遇到了一些棘手的问题,这让胖哥觉得是时候分享一些思路出来了。 两种思路 通常微服务的认证和授权思路有两种: 所有的认证授权都由一个独立的用户认证授权服务器负责,它只负责发放Token,然后网关只负责转发请求到各个微服务模块,由微服务各个模块自行对Token进行校验处理。 另一种是网关不但承担了流量转发作用,还承担认证授权流程,当前请求的认证信息由网关中继给下游
每天一个算法(简单)
此篇文章的目的是在于建立一个可以协同配合的工作流,我希望对于一个算法的理解包含以下内容:详尽的分析,程序的结构,代码。文章中包含前两个部分,然后在本地完成代码。编写代码是否需要再附上结构,很难说,我现在想的是只加上主干,再附上一个链接即可对于一个大数,直接处理往往是很复杂的。通常,使用因式分解对大数进行拆分,对每一个质因数进行处理自然数通常可以写成质因数相乘的形式模式识别:需要移动左右两头的问题可以考虑双指针题目:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。
脑电时频分析I:谱分析
1、EEG频带划分 自发的EEG活动在活体大脑中持续存在,通常通过频率进行分类(也叫神经振荡活动) 特定频段的脑活动,即节律性的活动,具有特定的头皮分布和生物学意义 最后还有一个γ波,主要是指30hz~100hz的一个波段,通常这个波段也包含了噪声唁电的成分,比较难提取处理,比较少用到这个波段 这个波段主要是有可能躯体感觉皮层,进行一个多通道的感觉输入的i信号处理,比如我们同时处理视觉和听觉信号的处理,而且γ波与我们记忆的形成有关 除此之外,还有一个特殊的波段,8~12hz的Mu波段主要是特指我们
几种常见的简单算法
几种常见的简单算法二分查找问题描述具体实现欧几里得算法(辗转相除法)问题描述具体实现幂运算问题描述具体实现 首先祝大家1024程序员节快乐,容许我水一篇文章,这里主要介绍几种简单的算法,并结合具体事例看看它们是如何实现的 二分查找 问题描述 给定一个按从小到大顺序排列好的数组,寻找数组里的一个数字,如果找到了,就输出该数字在数组中对应的下标,找不到,就输出"没找到" 具体实现 给定一个数组arr[10]={0,1,2,3,4,5,6,7,8,9},在这个数组中寻找7并输出其下标,找不到就输出"没找到"
工程伦理-知识点汇总
工程伦理-知识点汇总
MAC(m1)-VMWare Fusion安装CentOS7.9
MAC(m1)-VMWare Fusion安装CentOS7.9
简单对称算法
简单对称算法 class Symmetry { /** * 简单对称加密算法之加密 * @param String $string 需要加密的字串 * @param String $skey 加密EKY * @return String */ public static function encode($string = '',...
论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)
* 在写HiFi-GAN论文的代码阅读过程中,我发现仅仅通过文字来描述网络结构,不够详细,所以想绘制出网络结构图,更加具象化的描述出网络结构。想去花了,才发现之前都是通过在线绘图网站画的,费时费力,所以想找一些专门的网站化出比较规范并且高质量的图。一方面是为了方便讲解,提高论文的质量,另外一方面也是为了以后写论文打下良好的基础。 * 这篇文章会根据我以前的画图经验展开,以前是使用绘图软件,手动绘图。后来,看到了其他的方法,但是需要写一些代码,或者需要安装特定的软件,投入成本太大,就没有学。所以,本文分享的工
简单diff算法
在vue中用于比较新旧vnode的子节点都是一组节点时,为了以最小的性能开销完成更新,需要比较两个子节点,用与比较的算法就叫作diff算法。
Anomalib库安装以及使用
Anomalib是一个专注于异常检测的深度学习库。它的目标是收集最新的异常检测算法,并提供用于在公共和私有数据集上进行基准测试的工具。该库提供了一系列已实现的异常检测算法,这些算法在最近的文献中有所描述。此外,Anomalib还提供了一套工具,方便开发人员开发和实现自定义模型。该库特别注重基于图像的异常检测,旨在识别数据集中的异常图像或图像中的异常像素区域。通过使用Anomalib,用户可以快速构建和评估各种异常检测算法,以满足其特定需求。
SAP 成本分摊逻辑与案例(含具体数据)
摘要: SAP成本分摊通过**分配(Allocation)与分摊(Assessment)**两种方式,将间接成本中心费用按预设规则(如人数、工时、比例等)结转至直接成本对象。分配保留原始成本要素(如电费、工资),适用于需明细追踪的场景;分摊则打包为次级成本要素(如管理费用),简化核算。实操案例涵盖行政费用分配(按人数)、水电车间分摊(按工时)、机修作业分摊(作业成本法)及内部订单结算,系统通过KSV1/KSU1配置循环规则,KSV5/KSU5执行结转。关键点在于选择匹配业务的分摊基础,合理配置次级成本要素,
简单的 AI 算法解释
简单的 AI 算法解释
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
简单的乱序算法
简单的乱许算法,思想是从n到1迭代,每次迭代随机从0到n-1中抽一个数与当前数字交换,最后得到的序列就是乱序的。该算法可以用于洗牌等地方。函数和测试程序如下: #include #include #include #define MAX 52#define swap(a, b) (a) ^= (b);(b) ^= (a);(a) ^= (b);int* shuffl
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
简单选择算法NS
简单选择算法NS
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
简单模式匹配算法和KMP算法
参见原文 简单模式匹配算法 经典的模式匹配,是让模式串的首字符从主串的首字符开始向右匹配。 匹配的规则是: 1.在主串的第i个位置,让pos=i,如果主串pos位置的字符等于模式串的第一个字符,则pos++,再与模式串的第二个字符进行匹配。 2.如果又相等则继续向下匹配,直到匹配到模式串的结尾,就说明主串中存在该模式串;如果不相等,则停止匹配,回到主串中,并i++。 3.然后再让pos=i,重复上述步骤,直到i到达主串结尾。 相应代码如下: #include<stdio.h> #include&
java简单算法题_十道简单算法题
前言最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,重温一下。只能说慢慢积累吧~下面的题目难度都是简单的,算法的大佬可直接忽略这篇文章了~入门或者算法薄弱的同学可参考一下~很多与排序相关的小算法(合并数组、获取数字每位值的和),我都没有写下来了,因为只要会了归并排序(合并数组),会了桶排序(获取数字每位的值),这些都不成问题了。如果还不太...
java简单算法之获取最值
java简单算法之获取最值 例如获取某个数组的最大值和最小值 思路: 1.因为是要获取值,而获取的值为不确定的,所以需要一个变量来存储 2.取数组某个元素为变量的初始值. 3.遍历数组,取出数组每个值与此变量对比,如果大于(或小于),则将数组的值赋给变量 int[] arr = {5,1,4,6,3,8,0,7,10,12...
【数据结构】串的简单模式匹配算法、KMP算法(C语言)
目录串的简单模式匹配算法简单模式匹配算法完整实现代码运行结果KMP算法 串的简单模式匹配算法 简单模式匹配 Brute-Force(布鲁斯-福斯)算法是一种带回溯的匹配算法,算法的基本思想是:从主串 s 的第一个字符开始,和模式串 t 的第一个字符开始比较,如果相等,就继续比较后续字符,如果不等,则回溯到主串 s 的第2个字符开始重新和模式串 t 比较,直到模式串 t 中的每一个字符和主串 s 中的一个连续字符子序列全部相等,则称匹配成功,返回和 t 中第一个字符相等的字符在主串 s 中的位置;或者主串中没
java简单算法_十道简单算法【Java实现】
tags: 算法前言最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下,重温一下。只能说慢慢积累吧~下面的题目难度都是简单的,算法的大佬可直接忽略这篇文章了~入门或者算法薄弱的同学可参考一下~很多与排序相关的小算法(合并数组、获取数字每位值的和),我都没有写下来了,因为只要会了归并排序(合并数组),会了桶排序(获取数字每位的值),这些都不成问...
1361



被折叠的 条评论
为什么被折叠?



