自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

转载 用十年教会自己编程

Teach Yourself Programming in Ten YearsWhy is everyone in such a rush?为何万事都如此仓促  随便走进一家书店,你就能看到《7天学会Java》以及各种万变不离其宗的书籍,形如:在数天或是数小时内学会Visual Basic、Windows系统、互联网等等。我在亚马逊做了个高级搜索 :  pubdat

2017-12-04 15:45:36 288

转载 隐藏tomcat命令窗口

有两种方法:一、修改tomcat中的文件参数,达到隐藏目的:引用:TOMCAT_HOME\bin\setclasspath.bat在文件的底部找到以下内容:Java代码 :set _RUNJAVA="%JRE_HOME%\bin\java"  并修改为:set _RUNJAVA="%JRE_HOME%\bin\javaw"  保存后重新启动tomcat即可以在不出现命令行窗口的情况下运行。 (引自...

2018-05-15 17:08:31 1658

转载 windows设置tomcat为自启动服务

1、下载免安装tomcat包,解压2、配置环境变量:  点击新建,创建一个 变量名为:CATALINA_HOME             变量值为:tomcat解压文件的位置, 例如     F:\apache-tomcat-7.0.65然后在变量名path下,后面添加     ;%CATALINA_HOME%\bin\;3、打开命令窗口,即:开始-->运行-->cmd-->回车...

2018-05-14 20:28:33 974

原创 公司真题系列之滴滴2017_末尾0的个数(计数问题)

1、问题描述输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求2、示例输入10输出23、问题解析1)我的思路是求末尾0的个数就对末尾非0的几位数与新到来的数i进行乘积运算,计算新得出来的乘积中末尾为0的个数。比如说 计算10!的时候,9!=36288...

2018-05-01 22:11:15 336

原创 公司真题系列之滴滴_餐馆问题(贪心)

1、题目描述某餐馆有n张桌子,每张桌子有一个参数:a 可容纳的最大人数; 有m批客人,每批客人有两个参数:b人数,c预计消费金额。 在不允许拼桌的情况下,请实现一个算法选择其中一部分客人,使得总预计消费金额最大输入描述:输入包括m+2行。 第一行两个整数n(1 <= n <= 50000),m(1 <= m <= 50000) 第二行为n个参数a,即每个桌子可容纳的最大人数...

2018-05-01 21:58:23 325

转载 C++ main函数中参数argc和argv含义及用法

原文链接:c++ main函数中参数argc和argv的含义以及用法argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;简单用法示例,...

2018-04-26 10:20:25 3170

转载 C++ 智能指针详解

原文链接:C++智能指针详解一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、bo...

2018-04-09 21:34:20 88

原创 leetcode_解码方法(动态规划)

1、题目描述包含 A-Z 的字母的消息通过以下规则编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个包含数字的编码消息,请确定解码方法的总数。例如,给定消息为 "12", 它可以解码为 "AB"(1 2)或 "L"(12)。"12" 的解码方法为 2 种。2、题目解析题目思路不难,重点在于判断条件,除了26这个边界,还有要考虑全面包含0的情况,包括10、101...

2018-04-01 21:30:04 1904

原创 leetcode最长回文字符串_动态规划

1、问题描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。示例:输入: "babad"输出: "bab"注意: "aba"也是有效答案2、问题解析使用dp[i][j]代表从i到j最长的回文字符串的长度如果一个字符串的首尾字符相同,并且中间的部分也是回文字符串(dp[i+1][j-1]==j-i+1)那么它也是回文字符串这时候dp[i][j]=dp[i+...

2018-03-29 22:16:01 2062

原创 纸牌博弈问题 动态规划

1、问题描述:来源《算法与数据结构最优解》左程云给定一个整形数组arr,代表数值不同的纸牌排成一条线。玩家A和玩家B依次拿走每张纸牌,规定玩家A先拿,玩家B后拿,但是每个玩家每次只能拿走最左或者最右的纸牌。玩家A和玩家B都绝顶聪明。返回最后获胜者的分数。2、输入输出输入输出:arr=[1,2,100,4]。开始时玩家A只能拿走1或4.如果玩家A拿走1,则排列变成[2,100

2017-12-21 21:05:26 1999

原创 表达式期望结果的数目 动态规划

1、问题描述:来源《算法与数据结构最优解》左程云著给定一个只由0(假)、1(真)、&(逻辑与)、|(逻辑或)、^(异或)五种字符组成的字符串express,再给定一个布尔值desired。返回express能有多少种组合方式,可以达到desired的结果。2、输入输出express="1^0|0|1",desired=false。只有1^((0|0)|1)和1^(0|(0|

2017-12-21 20:41:32 939

原创 跳跃游戏 动态规划

1、问题描述:来源《算法和数据结构最优解》左程云著给定数组arr,arr[i]==k代表可以从位置i向右跳1-k个距离。比如arr[2]==3,代表从位置2可以跳到位置3,位置4或位置5。如果从位置0出发,返回最少跳几次能跳到arr最后的位置上。2、输入输出arr=[3,2,3,1,1,4]。arr[0]=3,选择跳到位置2;arr[2]==3,可以跳到最后。所以返回2。

2017-12-20 14:55:11 1003

原创 数字字符串转换为字母组合的种类数 动态规划

1、问题描述:来源《算法与数据结构最优解》左程云著给定一个字符串str,str全部由数字字符组成,如果str中某一个或某相邻两个字符组成的子串值在1-26之间,则这个子串可以转换为一个字母。规定"1"转换为"A","2"转换为"B",..."26"转换为"Z"。返回str转换的种类数2、输入输出str="1111",返回5;str="01",返回0;str="1

2017-12-17 19:25:44 2897 1

原创 字符串的交错组成 动态规划

1、问题描述给定三个三个字符串str1,str2和aim,如果aim包含且仅包含来自str1和str2的所有字符,而且在aim中属于str1的字符之间还保持原来的顺序,属于str2中的字符也是如此,那么称aim是str1和str2的交错组成。判断aim是不是str1和str2的交错组成。2、输入第一行输入str1,第二行输入str2,第三行输入aim3、输出

2017-12-11 19:56:09 762

原创 最小编辑代价 动态规划

1、题目描述:来源于《算法与数据结构题目最优解》左程云著给定两个字符串str1和str2,再给定三个整数ic、dc和rc,分别代表插入、删除和替换一个字符的代价,返回将str1编辑成str2的最小代价2、输入abcadc5 3 2abcadc5 3 100abcabc5 3 2ab12cd3abcdf5 3 23、输出

2017-12-10 21:30:33 459

原创 最长公共子串问题 动态规划

1、问题描述:来源于《算法与数据结构题目最优解》左程云著给定两个字符串str1和str2,返回两个字符串的最长公共子串,例如:str1="1AB2345CD",str2="12345EF",返回"2345"2、问题分析1)这个题目看起来和最长公共子序列很相似,在第一遍做的时候我也是做成了最长公共子序列,但是公共子串必须是连续的;2)问题的关键在于状态的寻找,我觉得这个题

2017-12-09 21:35:58 548

原创 石子合并 动态规划(环形)

1、问题描述:问题来源 NWPU noj 1148在一个圆形操场的四周摆放着n堆石子(n4 4 5 9 score: 08 5 9 score: 813 9 score: 8 + 13 = 2122 score: 8 + 13 + 22 = 432、输入可能有多组测试数据。 当输入n=0时结束! 第一行为石子堆数n(13、输出合并的最

2017-12-04 15:22:06 4949

原创 石子合并_直线型 动态规划

1、问题描述(问题来源于NWPU noj1148,不过原题是圆形操场上,是一个环形)在一条道路上摆放着n堆石子(n4 4 5 9 score: 08 5 9 score: 813 9 score: 8 + 13 = 2122 score: 8 + 13 + 22 = 432、输入可能有多组测试数据。 当输入n=0时结束! 第一行为石子堆数n(13、输

2017-12-01 21:31:33 1283

原创 旅游预算 动态规划

1、问题来源:NWPU noj11492、问题描述:一个旅行社需要估算乘汽车从某城市到另一城市的最小费用,沿路有若干加油站,每个加油站收费不一定相同。旅游预算有如下规则:若油箱的油过半,不停车加油,除非油箱中的油不可支持到下一站;每次加油时都加满;在一个加油站加油时,司机要花费2元买东西吃;司机不必为其他意外情况而准备额外的油;汽车开出时在起点加满油箱;计算精确到分(1元=100分

2017-11-30 15:53:28 2416 1

原创 防卫导弹_动态规划

1、问题描述:来源 NWPU noj1046一种新型的防卫导弹可截击多个攻击导弹。它可以向前飞行,也可以用很快的速度向下飞行,可以毫无损伤地截击进攻导弹,但不可以向后或向上飞行。但有一个缺点,尽管它发射时可以达到任意高度,但它只能截击比它上次截击导弹时所处高度低或者高度相同的导弹。现对这种新型防卫导弹进行测试,在每一次测试中,发射一系列的测试导弹(这些导弹发射的间隔时间固定,飞行速度相同),该

2017-11-29 15:31:44 1623

转载 C/C++中volatile关键字详解

原文请参考: C/C++中volatile关键字详解1. 为什么用volatile?    C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明:A volatile specifier

2017-11-28 20:01:59 142

原创 动态规划之最长递增子序列

1、问题描述:给定一个序列arr,假设全是整数,给出最长的一个递增子序列,比如输入arr=[2,1,5,3,6,4,8,9,7],输出[1,3,4,8,9]。2、问题来源:《算法与数据结构最优解》左程云 著3、问题解析:后续在评论中添加,这个问题中有好几个细节地方值得注意,尤其是赋值问题,我一开始有三个地方弄错了,我在注释中打上了!!!,这个是真的要注意的;还有就是这个问题只有一个正确的解

2017-11-28 11:14:49 660

原创 动态规划之换钱的方法数目

1、问题描述:给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个正数aim代表要找的钱数,求换钱有多少种方法?2、问题来源:《算法与数据结构题目最优解》左程云 著3、问题分析:这个问题和换钱的最少货币数相似,建议放在一起来研究。这个问题的关键在于前 i 种货币组成 j 的方案书为前 i-1 种组成 j 的方案

2017-11-27 09:37:50 557

原创 Java之Json和数组、字符串、对象之间的转换

1、字符串和对象转换为JsonJSONObject jsonStr = JSONObject.fromObject(String);2、数组转换为JsonJSONArray.fromObject(Array[])3、Json转换成字符串,使用toString()方法即可4、Json转换成对象JSONObject.toBean(json);

2017-11-26 21:10:31 16737

原创 Web开发中遇到的问题

SpringMVC中的问题:1、org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'UserName' not found. Available parameters are [1, 0, param1, p

2017-11-26 20:59:58 1875

原创 算法入门之动态规划的概念

《算法导论》中第15章这样介绍动态规划:动态规划(dynamic programming)与分治法相似,都是通过组合子问题的解来求解原问题(在这里,programming指的是一种表格法,并非编写计算机程序)。如前述,分治法将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求

2017-11-26 14:00:21 285

原创 C++中string类型的初始化与赋值

1、首先是定义一个字符串,引入头文件#include。2、初始化操作:可以默认初始化 string str; 可以进行拷贝: string s2=s1; 可以直接初始化 string s1("value");3、把输入的值赋值给字符串:可以用cin>>str; 但是需要注意的一点是这种情况下遇到空白字符会停止。如果想读入一行,可以用getline(cin,str);

2017-11-25 10:43:38 28301

原创 动态规划之最长公共子序列

如果序列X=<x1,x2,...xm>,Z=<z1,z2...,zk>,存在X的元素构成的严格递增序列,有 zj=xij,j=1,2,...,k,称Z是X的子序列。给定序列X和Y,求X和Y的最长公共子序列。比如:输入X:ABCBDAB,Y:BDCABA;输出:BCAB,长度为4。

2017-11-25 10:32:01 205

原创 动态规划之背包问题

1、问题描述:一个旅行者随身携带一个背包,可以放入背包的物品有n种,每种物品重量和价值分别为w[i],v[i]。如果背包的最大重量限制是b,每种物品可以放多个。怎样选择放入背包的物品以使得背包的价值最大?上述都是整数。2、问题解析:这个问题和前述换钱币的问题很相似,首先都是属于两种状态中的累积状态;其次初始化的时候都需要注意

2017-11-24 10:23:15 1048

原创 动态规划之投资问题

1、问题描述:有m元钱,n项投资,f[i][x]代表将x元投入到第i个项目中的收益,求最大的收益。2、输入:第一行为总钱数m和总项目数n;接下来为n行输入,每行m个,代表f[i][x]。3、输出:最大收益4、解析:动态规划问题一般分为两类:中间状态类和累积状态类。前者的参数是相同的,后者的参数不同,而且往往需要一个变量来进行遍历。这个问题以及最少货币数的问题都属于后

2017-11-23 16:51:45 6473 3

原创 动态规划之计算矩阵连乘积

给定n个矩阵{A1,A2,…,An}。其中Ai与Ai+1是可乘的,i=1,2,…,n-1。要求计算出这n个矩阵的连乘积A1A2…An最少需要多少次乘法。

2017-11-21 15:50:22 1099

原创 动态规划之换钱的最少货币数

动态规划之换钱的最少货币数

2017-11-20 17:46:37 1558 2

原创 动态规划之矩阵的最小路径和

动态规划方法计算矩阵的最短路径。

2017-11-19 16:54:23 1866 2

原创 为二维vector进行赋值

为二维vector进行赋值

2017-11-19 16:41:41 13843

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除