- 博客(13)
- 收藏
- 关注
原创 深度优先搜索--城堡问题
深度优先搜索:(Depth-First-Search) 1.从起点出发,走过的点要做标记,发现有并未走过的点,就随意挑一个往前走,走不了就回退,此种路径搜索策略称为“深度优先搜索”,简称“深搜”。 bool DFS(v) { if(v为终点) return true; if(v为旧点) return false; 将v标记为旧点; 对和v相邻的每个节点U { ...
2018-08-21 22:06:30 339
原创 归并排序&快速排序
归并排序思想:假设初始序列含有n个记录,可看成n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序子序列;再两两归并,...,直到得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。时间复杂度为O(nlogn)。 应用:求数组中的逆序数 #include <bits/stdc++.h> using namespace std; /**...
2018-08-19 16:42:57 144
原创 递归--放苹果问题和算24问题
1.题目描述:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (5 1 1和1 5 1是同一种分法。) 输入:第一行是测试数据的数目t(0<=t<=20),以下每行均包括两个整数M和N,以空格分开。1<=M,N<=10 样例输入: 1 7 3 样例输出: 8 思路: 设i个苹果放在k个盘子里方法总数是f(i,k)...
2018-08-19 13:54:14 271
原创 N皇后问题
题目描述: n皇后问题:输入整数n,要求n个国际象棋的皇后,摆在n*n的棋盘上,互相不能攻击,即任意两个皇后不得处在同一行、同一列或者同一对角线上。输出全部方案。 输入一个正整数N,则程序输出N皇后问题的全部摆法,输出结果里每一行都代表一种摆法。行里的第i个数字如果是n,就代表 第i行的皇后应该放在第n列。皇后的行、列编号都是从1开始算。 样例输入: 4 样例输出: 2 4 1 3 3 1 4...
2018-08-18 19:22:06 301
原创 广度优先搜索(BFS)--胜利大逃亡
广度优先搜索,即在遍历解答树时使每次状态转移时扩展出尽可能多的新状态,并且按照各个状态出现的先后顺序依次扩展。其在解答树上的表现为对解答树的层次遍历。 题目描述: 城堡是一个A*B*C的立方体,可以被表示成A个B*C的矩阵,开始位置为(0,0,0),离开城堡的门在(A-1,B-1,C-1)的位置, 魔王T分钟后回到城堡,Tom每分钟能从一个坐标走到相邻的六个坐标中的一个,请计算Tom能否在回来之...
2018-08-08 22:07:56 311
原创 动态规划--计算字符串的距离
题目描述: Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。 Ex: 字符串A:abcdefg 字符串B: abcdef 通过增加或是删掉字符”g...
2018-07-20 10:20:59 209
原创 动态规划-查找两个字符串的最长公共子串
dp[i][j]表示str1的前i个字符与str2的前j个字符公共子串的长度。若str1[i-1]==str2[j-1],则dp[i][j]=dp[i-1][j-1]+1. #include <bits/stdc++.h> using namespace std; int main() { string str1,str2; while(cin>>s...
2018-07-17 22:04:07 1066
原创 动态规划--最长回文子串问题
设状态dp[j][i]表示索引j到索引i的子串是否为回文串,可得状态转移方程如下: dp[j][i]=true;(i==j) dp[j][i]=(str[i]==str[j]);(i-j==1) dp[j][i]=(str[i]==str[j])&&dp[j+1][i-1];(i-j>1)#include<bits/stdc++.h> using namespac...
2018-07-02 21:11:46 119
原创 遍历二叉树的算法
递归实现后序遍历二叉树:void postOrder(TreeNode* root) { if(root!=NULL) { postOrder(root->left); postOrder(root->right); vec.push_back(root->val); } }非递归实现后序遍历二叉树:vector<...
2018-06-10 17:23:23 127
原创 圆圈中最后剩下的数字
题目:0,1,2,...,n-1这n个数字拍成一个圆圈,从数字0开始每次删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前四个数字依次是2、0、4、1,因此最后剩下的数字是3。本题就是有名的约瑟夫环问题。首先定义一个关于n和m的方程f(n,m),表示每次在n个数字0,1,...,n-1中每次删除第m个数字最后...
2018-05-03 18:25:22 100
原创 Docker安装问题解决--error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/
安装环境:ubuntu 16.04 LTS1.鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,需要配置加速器来解决,可以使用的是网易的镜像地址:http://hub-mirror.c.163.com。新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows)...
2018-04-23 17:06:53 22704 5
原创 动态规划--数字三角形
题目: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的数字三角形中寻找一条从顶部到底边的路径,使...
2018-03-28 22:01:29 121
原创 网易2017秋--暗黑的字符串
题目描述:一个只包含'A','B','C'的字符串,如果存在某一段长度为3的连续子串中恰好'A','B','C'各有一个,那么这个字符串就是纯净的,否则就是暗黑的。例如:BAACAACCBAAA连续子串"CBA"中包含了'A','B','C'各一个,所以是纯净的字符串AABBCCAABB不存在一个长度为3的连续子串中包含'A','B','C',所以是暗黑的字符串计算出长度为n的字符串(只包含'A'...
2018-03-27 09:41:21 228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人