![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习
charminglam
这个作者很懒,什么都没留下…
展开
-
PTA-起步能力自测题(一)打印沙漏 C++
自测-1 打印沙漏(20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉...原创 2018-07-31 15:00:40 · 394 阅读 · 0 评论 -
PTA-起步能力自测题(五) Shuffling Machine C++
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avoid "inside jobs" where employees collaborate with gamb...原创 2018-07-31 15:21:04 · 386 阅读 · 0 评论 -
递归算法的基本套路
最近写算法作业发现自己还不是很明白递归算法的套路,因此在此记录一下基本方法: 在写之前,确认两点: 1.递推表达式 2.边界条件 然后根据不同取值情况利用if-else判断语句进行递归,递归体现在return语句本身就嵌套了要递归的函数。 代码示例: #include<iostream> using namespace std; int sequence(int n); int se...原创 2018-10-12 15:45:48 · 501 阅读 · 0 评论 -
C\C++分治法中递归运用新发现(涉及不返回值以及引用参数调用)
问题: 从一数组中同时取出最大值和最小值 解析: 这问题较为简单,可用打擂台方法来求算,在这里我运用分治法来算。 分治法回顾: 1.审题:判断题目能不能划分成多个可独立解决的子问题 2.分解:找到分解的技巧与界限,通常需要利用递归分解 3.合并:这个需要具体问题具体分析,在这里我们需要将左子数组和右子数组的最值进行判断,保留其中更大或更小的最值即可 函数处理: 但是在C或C++中,如果将算法封装在...原创 2018-10-19 21:19:07 · 264 阅读 · 0 评论