temp

Algorithm01-八大排序

。_饼干妹妹 提交于 2020-01-22 05:42:06
1.八大排序 2.冒泡排序 static void bubbling ( int [ ] arr ) { final int length = arr . length ; for ( int i = 0 ; i < length - 1 ; i ++ ) { for ( int j = 0 ; j < length - i - 1 ; j ++ ) { if ( arr [ j ] > arr [ j + 1 ] ) { int t = arr [ j ] ; arr [ j ] = arr [ j + 1 ] ; arr [ j + 1 ] = t ; } } } } 3.插入排序 static void insertion ( int [ ] arr ) { final int length = arr . length ; for ( int i = 1 ; i < length ; i ++ ) { //&& arr[j] < arr[j - 1],排序过后前面的数已经有序 //arr[j] < arr[j - 1],前面已经有序,所以前面肯定没有比arr[j]大的数 //这样减少内层循环 for ( int j = i ; j > 0 && arr [ j ] < arr [ j - 1 ] ; j -- ) { if ( arr [ j ] < arr [ j - 1

HDU1074 Doing Homework(状压dp)

爱⌒轻易说出口 提交于 2020-01-22 00:55:32
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意:给定有n门课的作业,每门课交作业有截止时间,和完成作业所花费的时间,如果超过规定时间完成,每超过一天就会扣1分,求一个做作业顺序要求扣的分数最少。 思路:因为数据最大是15,可以使用二进制来表示所有完成的状况,比如二进制位1001,代表第1和第4科目的作业完成,第2第3没有完成,那么从0到(1<<n)其二进制就是所有的状态了。首先枚举所有的状态,然后枚举每一门课,假如判断第i门课是否完成可以用1<< i & (当前状态)来判断,然后去更新上次的状态+上完这门课完成所花费的最小分数,dp记录状态路径,最后输出即可。 AC代码: 1 #include<iostream> 2 #include<vector> 3 #include<algorithm> 4 #include<cmath> 5 #include<cstring> 6 #include<queue> 7 #include<cstdio> 8 #include<stack> 9 #include<unordered_map> 10 #define inf 0x3f3f3f3f 11 using namespace std; 12 typedef long long ll; 13 const int maxn = (1<

C++数据类型转换

感情迁移 提交于 2020-01-21 16:11:47
一、其他类型转为字符串 1、数值型 1 itoa(i,temp,10); //将i转换为字符串放入temp中,最后一个数字表示十进制 2 ltoa(l,temp,10); //长整形转为字符串放入temp中,最后一个数字表示十进制 3 4 //浮点数 5 int decimal, sign; 6 char *buffer; 7 double source = 3.1415926535; 8 buffer = _fcvt( source, 7, &decimal, &sign ); 9 decimal表示小数点的位置,sign表示符号:0为正数,1为负数 View Code 2、字符型 1 CString变量: 2 buf = (LPSTR)(LPCTSTR)str; 3 4 BSTR变量: 5 BSTR bstrValue = ::SysAllocString(L"hello world!"); 6 char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str); 7 8 CComBSTR变量: 9 CComBSTR bstrVar("hello world!"); 10 char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str); 11 12 _bstr_t变量: 13

关于centos7安装 nginx

不羁的心 提交于 2020-01-21 04:45:30
1.检查并安装所需的依赖软件  1).gcc:nginx编译依赖gcc环境     安装命令:yum install gcc-c++  2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式.     安装命令:yum install -y pcre pcre-devel  3).zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。     安装命令:yum install -y zlib zlib-devel  4).openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http).     安装命令:yum install -y openssl openssl-devel 2.下载nginx源码包   下载命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz 3.解压缩源码包并进入  1).解压缩: tar -zxvf nginx-1.12.0.tar.gz  2)

Centos7安装Nginx实战

情到浓时终转凉″ 提交于 2020-01-21 04:42:58
1.检查并安装所需的依赖软件  1).gcc:nginx编译依赖gcc环境     安装命令:yum install gcc-c++  2).pcre:(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式.     安装命令:yum install -y pcre pcre-devel  3).zlib:该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。     安装命令:yum install -y zlib zlib-devel  4).openssl:一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http)     安装命令:yum install -y openssl openssl-devel 2.下载nginx源码包   下载命令:wget http://nginx.org/download/nginx-1.12.0.tar.gz 3.解压缩源码包并进入  1).解压缩: tar -zxvf nginx-1.12.0.tar.gz  2)

02_搭建Nginx服务器

☆樱花仙子☆ 提交于 2020-01-21 02:46:33
一、nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 ①gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc yum install gcc-c++ ②PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 yum install -y pcre pcre-devel 注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 ③zlib zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。 yum install -y zlib zlib-devel ④openssl OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。 yum install -y

二叉树层序遍历

旧街凉风 提交于 2020-01-20 21:01:01
题目描述: 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 3 / 9 20 / 15 7 该二叉树层序遍历的结果是 [ [3], [9,20],[15,7]] 解题思路: 使用队列,这个题与普通的层序遍历稍有不同,最后返回的结果是list的集合,每一个list是一层的遍历(从左到右) 普通的层序遍历(一个list)只需要使用队列,进出进出即可, 每出一个node将其值添加到list中,直到队列变为空。 而现在,我们需要知道每一层有多少个node,具体实现看一下代码。 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { /

c++、c实现推箱子小游戏

限于喜欢 提交于 2020-01-20 13:15:39
   经过四次的修改和优化,终于将推箱子这个游戏完整的写出来了,今天就像大家分享一下这个游戏的编写。   这个游戏界面的编写总的来说不困难,主要是推动箱子的算法。    (1)利用数组和windows api 即可写出界面      1 #define N 15 2 #define M 15 3 int map[N][M] = { 4 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 5 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 6 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 7 { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 },//0->空白 8 { 0, 0, 0, 0, 1, 0, 2, 1, 1, 1, 0, 0, 0, 0, 0 },//1->墙 9 { 0, 0, 0, 0, 1, 0, 3, 0, 0, 1, 0, 0, 0, 0, 0 },//2->人 10 { 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0 },//3->箱子 11 { 0, 0, 0, 1, 4, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0

使用单链表实现数据的排序

纵饮孤独 提交于 2020-01-20 12:42:00
链表插入的主要思路:1.把temp.next域给新节点.next 即 newNode.next=temp.next 2.temp.next指向新节点 即 temp.next=newNode public class LinkList { public static void main(String[] args) { //进行测试 //先创建节点 HeroNode heroNode = new HeroNode(1, "宋江", "及时雨"); HeroNode heroNode2 =new HeroNode(2,"卢俊义","玉麒麟"); HeroNode heroNode3 =new HeroNode(3,"吴用","智多星"); HeroNode heroNode4 =new HeroNode(4,"林冲","豹子头"); //创建要给的链表 LinkedNode linkedNode =new LinkedNode(); linkedNode.addByOrder(heroNode); linkedNode.addByOrder(heroNode4); linkedNode.addByOrder(heroNode2); linkedNode.addByOrder(heroNode2); linkedNode.addByOrder(heroNode3); linkedNode

力扣OJ 646. 最长数对链

时光毁灭记忆、已成空白 提交于 2020-01-20 01:33:22
题目: 给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。 现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。 给定一个对数集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的一些数对来构造。 示例 : 输入: [[1,2], [2,3], [3,4]] 输出: 2 解释: 最长的数对链是 [1,2] -> [3,4] 注意: 给出数对的个数在 [1, 1000] 范围内。 分析: 动态规划。 因为数据量只有1000,所以直接写个简单的O(n*n)的时间的算法即可 代码: bool cmp(vector<int> it1,vector<int> it2) { return it1[1]<it2[1]; } class Solution { public: int findLongestChain(vector<vector<int>>& pairs) { int res=0; vector<vector<int>>ans; vector<int>temp; ans.clear(); sort(pairs.begin(),pairs.end(),cmp); for(auto it=pairs.begin();it!=pairs.end();it++