数据结构与算法
Kyrielong
这个作者很懒,什么都没留下…
展开
-
《算法竞赛入门经典》中有代表性的编程思想
《算法竞赛入门经典》(第2版) 习题2-6 排列(permutation)用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。提示:不必太动脑筋。(编程思想:用数组作为标志位来判断数字是否已经被使用过)#include <iostream>#inc...原创 2019-07-26 14:16:26 · 219 阅读 · 0 评论 -
C++中String类的字符串分割实现
//只能包含一个分隔符#include <vector>#include <string>#include <iostream>using namespace std; void SplitString(const string& s, vector<string>& v, const string& c){...转载 2019-07-26 14:12:03 · 309 阅读 · 0 评论 -
深度优先和广度优先做题套路总结
先贴别人的:深度优先搜索和广度优先搜索及典例分析(走迷宫问题(BFS)和棋盘问题(DFS))自己总结的:深度优先搜索应用场景:求有多少条路径,有多少个连通块,有多少种方法之类的,同时可能要你给出走法。广度优先搜索应用场景:求单一的最短路径,最小步数之类的最优解,同时可能要你给出走法。深度优先搜索实现方法:递归或者栈。广度优先搜索实现方法:队列。深度优先搜索典型题目:深度...原创 2019-04-11 23:50:52 · 1732 阅读 · 0 评论 -
深度优先搜索例题
//2019年4月10日华为笔试第三题//输入m行,n列的数组,给定起点坐标x,y和终点坐标w,z,求从起点到终点的路径数。//规定可以前后左右移动,但是下一步的值必须比当前值大。//示例://输入://4 5//0 0 1 0 0//0 0 2 0 0//0 0 3 4 0//0 0 7 5 0//0 2 3 2//输出://2//解法:其实就是很简单的深度优先搜索...原创 2019-04-11 23:55:31 · 1951 阅读 · 0 评论 -
c++常用代码集(OJ篇)
先贴一下别人总结的代码集:ACM、PAT、CSP、OJ题目常用代码模板ACM在线模版-f-zyj1.字符串分割void SplitString(const std::string& s, std::vector<std::string>& v, const std::string& c) { std::string::size_type...原创 2019-07-26 14:11:54 · 365 阅读 · 0 评论 -
把括号内的字符串重复n遍,n为括号前的数字,然后逆序输出
//2019年4月10日华为笔试第二题//把括号内的字符串重复n遍,n为括号前的数字,然后逆序输出//示例://输入://ab3(ab)//输出://babababa//解题思路:递归#include <iostream>#include <string>#include <algorithm>using namespace std;...原创 2019-07-26 14:14:03 · 591 阅读 · 0 评论 -
迷宫问题BFS和DFS(模板)
迷宫问题BFS和DFS(模板)DFS的基本结构:void dfs(int 参数1, int 参数2){ if (不满足要求) return; //剪枝条件 if (达到目标值) { 存储当前答案; return; } dfs(下一步);}模板代码如下:#include <iostream...转载 2019-07-26 14:06:16 · 809 阅读 · 0 评论 -
小米笔试第二题,递归找到最优选择
/*小米笔试第二题大概题意:给定一个正整数数组(如{1,4,2}),两人轮流从当前数组的两头拿数,拿完为止,拿到的数之和最大者胜,如果相等则第一个拿的人胜,问第一个拿的人能否获胜?*/#include <iostream>#include <vector>using namespace std;void happyMax(vector<int>...原创 2019-09-06 21:24:50 · 246 阅读 · 0 评论