algorithm
1egenda
这个作者很懒,什么都没留下…
展开
-
动态规划
数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99 输入格式: 5 //表示三角形的行数 接下来输入三角形 7 3 8 8 1 0 2 7 4 ...原创 2018-10-23 19:44:52 · 121 阅读 · 0 评论 -
汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。class Soluti...原创 2018-09-13 11:59:20 · 986 阅读 · 0 评论 -
C++将一个十进制数转化为二进制数
#include"iostream"#include"string"#include"algorithm"#define MAXSIZE 500int main(){ using namespace std; int number,flag=0; int arry[MAXSIZE]; cin>>number; while(numbe...原创 2018-09-12 17:53:11 · 7660 阅读 · 0 评论 -
C++字母转换大小
字母A的ascii码为65,字母a的ascii码为97,因此,他们相差32,只需要判断一下大小写,加减32即可得到要转换的字母#include"iostream"#include"string"int main(){ using namespace std; string up; string lw; cout<<"please in...原创 2018-09-10 17:13:05 · 648 阅读 · 0 评论 -
图论
图的表示方法:1.邻接矩阵法2.邻接表法3.索引表法在程序应用中,多为转换为邻接表法。例如:可以用数组表示为:int data[20][2]={{1,2},{2,1},{1,3},{3,1}, {2,4},{4,2},{2,5},{5,2}, {3,6},{6,3},{3,7},{7,3},...原创 2019-05-24 19:18:54 · 283 阅读 · 0 评论 -
二叉树宽度优先搜索
依次将节点的左子树,右子树放入队列。#include"iostream"#include"queue"using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x):val(x),left(NULL),right(NULL){}...原创 2019-04-02 14:33:11 · 344 阅读 · 0 评论 -
N后问题回溯
#include"iostream"#include"vector"#include"string"using namespace std;//由于在x,y坐标上放入皇后,8个方向都不能有其他皇后,所以将这8个方向对应的坐标置1void put_down_the_queen(int x,int y,vector<vector<int> > &mark)...原创 2019-03-26 16:57:08 · 145 阅读 · 0 评论 -
归并排序
void merge_two_vec(vector<int> &vec1,vector<int> &vec2,vector<int> &result){ int i , j =0; while(i<vec1.size()&&j<vec2.size()){ if(vec1[i]<vec2[j])...原创 2019-03-22 18:39:25 · 167 阅读 · 0 评论 -
回溯
给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]class Solution {public: vector<vector<int>> subs...原创 2019-03-11 22:53:37 · 164 阅读 · 0 评论 -
C++十进制转十六进制
思路:将十进制转化为二进制,然后每4位二进制对应1位十六进制,按照相应的数字输出即可。(用map映射10对应A,11对应B,12对应C.....)#include"iostream"#include"algorithm"#include"string"#include"map"using namespace std;int main(){ long lon...原创 2019-02-28 16:49:50 · 2209 阅读 · 0 评论 -
小公倍数与最大公约数
辗转相除法最大的用途就是用来求两个数的最大公约数。 用(a,b)来表示a和b的最大公约数。 有定理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c)。 (证明过程请参考其它资料) 例:求 15750 与27216的最大公约数。 解: ∵27216=15750×1+11466 ∴(15750,27216)=(15750,11466) ∵15...原创 2019-02-23 16:44:36 · 219 阅读 · 0 评论 -
C++十六进制转十进制
#include"iostream"#include"string"#include"cmath"using namespace std;int main(){ string strHex; cin>>strHex; string strBin=""; for(int j = 0 ; j < strHex.length() ; j++)...原创 2019-02-27 15:25:37 · 1577 阅读 · 0 评论 -
C++十六进制转八进制
#include"iostream"#include"string"using namespace std;int main(){ string strHex; int n; cin>>n; //需要转换的个数 for (int i = 0; i < n; ++i) { cin>>strHex; string s...原创 2019-02-27 14:51:45 · 1904 阅读 · 2 评论