随笔分类 - 数据结构&算法
摘要:题目描述 计算一个浮点数的立方根,不使用库函数。 保留一位小数。 数据范围:|val| \le 20 \∣val∣≤20 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输出参数的立方根。保留一位小数。 解题思路 代码如下: #include<iostream> #include
阅读全文
摘要:题目描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(注:能被*和?匹配的字符仅由英文字母和数字0到9组成,下同)?:匹配1个字符 注意:匹配时不区分大小写。 输入:通配
阅读全文
摘要:题目描述 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开! 数据范围:字符串长度1\le length \le300 \1≤length≤300 进阶:时间复杂度:O(n^
阅读全文
摘要:题目描述 分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。 注:真分数指分子小于分母的分数,分子和分母有可能gcd不为1! 如有多个解,请输出任意一个。 输入描述: 输入一个真分数,St
阅读全文
摘要:题目描述 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。 链表的值不能重复。 构造过程,例如输入一行数据为: 6 2 1 2 3 2 5 1 4 5 7 2 2 则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示
阅读全文
摘要:题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,}; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路
阅读全文
摘要:题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位
阅读全文
摘要:题目描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。
阅读全文
摘要:题目描述 矩阵乘法的运算量与矩阵乘法的顺序强相关。例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵 计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。 编写程序计算不同的计算顺序需要进行的乘法次数。 数据范围:矩
阅读全文
摘要:题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 ) 数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×109+14 输入描述: 输入一个整数 输出描述: 按照从小到大的顺序输出它的
阅读全文
摘要:题目描述 给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号,火车站只有一个方向进出,同时停靠在火车站的列车中,只有后进站的出站了,先进站的才能出站。 要求输出所有火车出站的方案,以字典序排序输出。 数据范围:1\le n\le 10\1≤n
阅读全文
摘要:题目描述 输入一个表达式(用字符串表示),求这个表达式的值。 保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。且表达式一定合法。 数据范围:表达式计算结果和过程中满足 |val| \le 1000 \∣val∣≤
阅读全文
摘要:原理请看 https://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html C代码: #define MAXSIZE 1001 #define MAXNUM 10 int dist[MAXNUM] = {0};//到达该点的最短路
阅读全文
摘要:图论--二分图判断 染色法 原理:使用两种颜色对图中的结点进行染色,若出现相邻结点颜色相同,则不是二分图(或偶图)。 选择任意一点开始,染为红色,并将相邻的结点染为蓝色。选择其中一个相邻的结点作为下一个结点重复这个过程,不过是把其相邻结点染为红色,直到全部染完色或者出现相邻结点同色的情况。(PS:如
阅读全文
摘要:#include <iostream> #include <string.h> #include <queue> using namespace std; struct node { int aim[26]; int len; }; int main() { int dic[101][27]={0}
阅读全文
摘要:#include <iostream> #include <queue> using namespace std; struct node { int x,y; int t,time; }; int a[15][15],visit[15][15]; int n,m,dist[4][2]= {{0,1
阅读全文
摘要:学习了https://www.cnblogs.com/xiaozou-zone/p/11127918.html,比我原来开数组1000000妙多了。 #include <iostream> using namespace std; int main() { int n,counter=0,a,t;
阅读全文
摘要:题意:将元素为n的序列划分出m个不相交的子段,并求最大子段和。 例:输入2 6 -1 4 -2 3 -2 3,其中m=2,n=6 4 -2 3 和 3两个子段和为8。 运用动态规划的思想,设置数组dp记录i个子段和的最大值且第i个子段包含num[j]项。 #include <iostream> us
阅读全文