
算法
算法
唐傘皮
如果傘皮不能用代码改变世界,那就改变自己就好了~
展开
-
【递归】Kimi数列
问题:Kimi最近在研究一个数列:F(0) = 7F(1) = 11F(n) = F(n-1) + F(n-2) (n≥2)Kimi称之为Kimi数列。请你帮忙确认一下数列中第n个数是否是3的倍数。code:#include<bits/stdc++.h>using namespace std;int solve(int i){ if(i==0) return 7; if(i==1) return 11; return solve(i-1)+solve原创 2021-03-12 00:06:33 · 644 阅读 · 0 评论 -
【递归】递归计数
问题:编写一个递归程序,返回一个字符串中大写字母的数目。例如,输入“AbcD”,输出2。code:#include<bits/stdc++.h>using namespace std;char m[10000]; int num;void solve(int i){ if(m[i]=='\0')//判断是字符串的结尾就结束递归 return; if(m[i]>='A'&&m[i]<='Z')//判断如果是大写字母就计数 num++;原创 2021-03-11 23:59:28 · 1288 阅读 · 0 评论 -
【递归】倒序输出
这道题的坑:一:数据没考虑周全,比如:120000,应该输出21二:超时:在数据输入进行while循环处理第一坑时就会超时,用一个变量flag控制输出的第一位是否为0,是不输出,不是则输出问题:在递归时将余数输出即可code:#include<bits/stdc++.h>using namespace std;int solve(int m,int flag){ if(m<10){ return m; } int a=m.原创 2021-03-11 23:32:04 · 1559 阅读 · 0 评论 -
算法分析与设计的一些概括与思考
文章目录什么是算法?主定理:递归分治法二分法快速排序动态规划贪心Dijkstra算法Prim算法Kruscal算法回溯法问题集锦什么是算法?算法: 算法是解决问题的方法或过程,它包括一系列步骤,用来将输入数据转换成输出结果。算法描述的形式: 自然语言,流程图,伪代码用伪代码描述有哪些优势?答:易于转化代码,容易修改,简单易懂算法具有的性质:输入:至少有一个输出。输出:有0个或多个输入。确定性:组成算法的每一条指令清晰,无歧义。有限性:算法中每条指令的执行次数有限,执行每条指令的时间也原创 2020-09-19 18:51:45 · 663 阅读 · 0 评论 -
问题 D: ABC + DEF = GHI
题目描述用1, 2, 3…9 这九个数字组成一个数学公式,满足:ABC + DEF = GHI,每个数字只能出现一次,编写程序输出所有的组合。输入无输出输出所有的 ABC + DEF = GHI,每行一条数据,格式为ABC+DEF=GHI输出结果按照ABC升序排列,如果ABC相同,则按照DEF升序排列。#include<bits/stdc++.h>#define swap(x, y) {int temp=x;x=y;y=temp;}using namespace std;c原创 2020-05-15 22:36:54 · 2377 阅读 · 0 评论 -
问题 C: 油田问题
题目描述输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),即属于同一个八连块。输入多组输入输入行数m,以及列数n。然后输入*和@1<=n,m<=100输出联通块个数5 5****@*@@*@*@**@@@@*@@@**@就是将a数组进行操作,把整个矩阵都遍历一遍,在每次进行计算时都从是@开始进行,然后每次进行时,就是一个块,当然,每次需要进行时,需要判断是否进行被纳入其他块了,这就需要a数组进行原创 2020-05-15 20:48:54 · 1072 阅读 · 0 评论 -
算法练习12&贪心&并查集&Kruskal题&Dijkstra题
文章目录问题 E: 并查集问题 E: 并查集题目描述在某个城市中住着n个人,现在给定关于这n个人的m条信息(即某2个人认识)。假设所有认识的人一定属于同一个单位,请计算该城市有多少个单位?输入第1行的第1个值表示总人数n,第2个值表示总信息数m;第2行开始为具体的认识关系信息输出单位的个数#include<bits/stdc++.h>using namespac...原创 2020-05-13 10:50:13 · 1757 阅读 · 0 评论 -
算法练习11&部分题&&贪心思想专题
文章目录问题 A: XP的素数问题 B: XP的三角形问题 A: XP的素数题目描述XP最近对素数很痴迷,特别是那些特殊的素数,其中有一类素数被称为孪生素数。其定义如下:如果一个数k是素数,k+2也是素数,那么k和k+2成为一对孪生素数。请计算一个给定区间m和n(0<m<n)中孪生素数对的个数。输入单组输入数据m n(0<m<n<1000)输出请输出...原创 2020-05-03 17:21:07 · 899 阅读 · 0 评论 -
数据结构之二叉树前序&中序&后序&层次遍历&递归与迭代实现
文章目录递归模板迭代模板(前,中序)一:前序遍历递归实现迭代遍历二:中序遍历递归实现迭代实现三:后序遍历递归实现迭代遍历三:层次遍历递归实现递归模板 public void traverse(TreeNode root,List<Integer> last){ if(root==null)//如果为null代表最后的子节点,结束循环 return; ...原创 2020-04-19 17:58:10 · 588 阅读 · 0 评论 -
算法练习9&部分题
文章目录问题 A: 跟奥巴马一起编程问题 B: 比赛班级问题 G: 最长递增子序列问题 H: 最长递增子序列2问题 D: 矩阵连乘问题-求最优值问题 E: 矩阵连乘问题-构造最优解问题 F: 石子合并问题问题 A: 跟奥巴马一起编程美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写...原创 2020-04-19 14:09:37 · 593 阅读 · 0 评论 -
三种方法了解一下“ 最长公共子序列 ” 并打印最长公共子序列与 “ 最长公共子串 ”
文章目录最长公共子序列1.求最长公共子序列的长度(1)递归(2)备忘录(3)动态规划2.求最大公共子序列,打印出来最长公共子串最长公共子序列子序列可以不连续,而子串必须得连续,比如ACEG是ABCDEFG是子序列而不是子串,ABCD是ABCDEF的子串1.求最长公共子序列的长度(1)递归当求最长公共子序列时,可以看做A串的最后一个先与B串的最后一个进行比较,如果相等,则在A,B串减去相同...原创 2020-04-07 21:55:53 · 1525 阅读 · 0 评论