自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode-45 Jump Game II

题目:给定一个整型数组,每个值代表可以向前跳跃的步数的最大值,求跳跃到最后一位所需的最小的跳跃次数思路:定义一个窗口,代表当前可以跳跃的范围,起始范围是【1,A[0]+1】,下一个范围的右边界为范围内可以跳跃到的最大值,这样直到某个范围覆盖到最后一位,范围迭代的次数即是最小跳跃次数class Solution {public: int jump(int A[], int n) {

2015-08-14 09:25:33 193

原创 LeetCode-42 Trapping Rain Water

题目:求一个数组序列所能容纳的水的体积思路:从两端向中间逼近class Solution {public: int trap(int A[], int n) { if(n==0)return 0; int result=0; int i,j; int head=0; int tail

2015-08-14 09:02:23 210

原创 LeetCode-41 First Missing Positive

题目:给定一个整型数组,找出该数组第一个没有出现的正整数,如【-1,3,2,4】,返回1。要求O(N)时间复杂度和O(1)空间复杂度思路:因为需要O(N)复杂度,所以不能排序,又因为需要O(1)空间复杂度,所以不能使用hash。所以我们可以考虑是否可以利用数组本身的空间。因为数组长度为n,所以第一个没有出现的正整数最大只可能是n+1,即输入数组为【1,2,。。。,n】。我们可以遍历数组,当碰到

2015-08-13 15:18:43 178

原创 LeetCode-40 Combination Sum II

题目:给定一个整型数组,和一个Target值,数组中的每个值都只可使用一次,求所有由数组中的值组成的集合,集合之和等于target。思路:基本背包问题class Solution {public: vector > combinationSum2(vector &num, int target) { vector> result; sort(num

2015-08-13 14:42:49 219

原创 LeetCode-39 Combination Sum

题目:给定一个整型数组,和一个Target值,数组中的每个值都可无限制使用,求所有由数组中的值组成的集合,集合之和等于target。思路:典型完全背包问题,背包问题可以参考http://www.cnblogs.com/jbelial/articles/2116074.html;//回溯算法,首先无限加入第一个元素,若最后恰好等于0,则为第一个合适的序列。然后成功序列最后出掉一个元素,尝试加

2015-08-13 14:40:49 289

原创 LeetCode-32 Longest Valid Parentheses

题目:给一个只包含‘(’和‘)’的字符串,寻找最大的合法的闭合结构思路:依然是滑动窗口法,不过需要利用一个栈,当遇到‘(’则入栈,遇到‘)’时,如果栈为空,则左边界需要移动到当前位置,否则出栈一次,同时判断当前位置和左边界距离是否大于max,此时需要考虑出栈一次后栈是否为空,如果为空,说明当前位置到左边界之间为合法的闭合结构,否则说明栈顶元素的位置到当前位置为合法的闭合结构。class S

2015-08-12 09:50:09 215

原创 LeetCode-31 Next Permutation

题目:给定一个整型数组,找出比该数组按排列顺序大的下一个序列,如果该数组为最大序列,则输出最小序列思路:字符串全排列问题,可以使用全排列非递归实现的方法,即从后向前用大数交换小数。class Solution {public: void nextPermutation(vector &num) { int length=num.size(); if

2015-08-12 09:24:53 259

原创 LeetCode-30 Substring with Concatenation of All Words

题目:给定一个字符串S,一个定长度n的字符串数组words[],在S中找出所有由words拼接而成的子字符串的起点。思路:类似于最大不重复子字符串,定义一个滑动窗口,每次窗口走n个字符,判断是否匹配words中的某个字符串class Solution {public://滑窗法,维护一个左右边界可变的窗口,若模式串单词长度为n,则只需进行n次窗口滑动。//假设某次匹配,窗口内的字符

2015-08-11 15:24:36 279

原创 LeetCode-29 Divide Two Integers

题目:不使用除法、乘法、求余来计算两个数的商思路:思路很简单,可以用被除数不断减去除数的某个倍数,直到小于除数,结果就是商,重要的是有很多边界条件需要考虑class Solution {public: int cal(unsigned int up_val,unsigned int down_val){ if(up_val==0)return 0;

2015-08-11 15:19:28 253

原创 LeetCode-26 Remove Duplicates from Sorted Array

题目:移除有序数组中的重复元素思路:可以定义两个指针a,b;从头开始遍历,如果当前值等于前一个值,则b继续前行,a不动,否则a前行一步,且把b所在位置当前值赋给a所在位置。这样当b遍历到结尾,a的值即为不重复的值得数目,且都包含在0-a之间。class Solution {public: int removeDuplicates(int A[], int n) {

2015-08-11 14:59:22 234

原创 LeetCode-23 Merge k Sorted Lists

题目:合并K个有序链表思路:利用分治思想,将K个链表的合并转化为多个2个链表的合并,类似求x^n;/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {

2015-08-11 14:52:16 185

原创 LeetCode-22 Generate Parentheses

题目:给定一个数字N,代表()的数目,输出N个()可以组成的合法的闭合结构思路:1、可以对每一个组合,判断其是否是合法的闭合结构,实现可以使用一个栈,然后将N个‘(’和N个‘)’递归入栈,入完后判断    2、拼接字符串,N个‘(’和N个‘)’递归拼接到一个字符串上,每次在尾端拼接。    class Solution { private: struct node{

2015-08-11 14:42:36 254

原创 LeetCode-20 Valid Parentheses

题目:给定一个只包含‘(’,‘[’,'{',')',']','}'的字符串,判断其是否一个合法的闭合字符串。思路:可利用一个栈,遍历字符串,每碰到‘(’,‘[’,'{'则将其入栈,每碰到,')',']','}',则出栈一个字符,同时判断出栈的字符是否匹配当前字符,如果最后栈为空,则合法。class Solution {public: bool isValid(string s)

2015-08-11 09:58:31 217

原创 LeetCode-19 Remove Nth Node From End of List

题目:给定一个链表,移除从尾节点开始往前数的第N个节点思路:题目要求一次遍历解决问题,所以需要一些特殊的解法。我们可以使用快慢指针,定义两个指针a,b,a先从链表头开始走N步,然后a,b开始同时走,直到a走到末尾,因为b比a晚走N步,所以此时b指向倒数第N个节点。因为我们要删除该节点,所以需要定义一个头节点指向链表头,这样我们找到的就是倒数第N+1个节点。/** * Definition

2015-08-11 09:53:20 259

原创 LeetCode-16 3Sum Closest

题目:给定一个数组a[n]和目标值target,找出三个值相加与target之差绝对值最小的值。思路:先排序,然后就是暴力搜索遍历所有三个值class Solution {public: int threeSumClosest(vector &num, int target) { int min=10000; int result

2015-08-11 09:22:54 202

原创 LeetCode-15 3sum

题目:给定一个数组,在数组中寻找所有相加等于0的三个数,三个数输出顺序为升序。思路:首先将数组排序,然后依次固定每个值a[i],在a[i+1]到a[n-1]寻找两个数之和等于-a[i]。注意当下一迭代a[i+1]=a[i]时,则跳过a[i+1]。class Solution { private: vector > result; int flag=1

2015-08-11 09:11:23 195

原创 LeetCode-11 Container With Most Water

题目:给定一个数组序列a[n],找出两个值,使以者两个值围成的区域可以容纳最多的水思路:设a[0]和a[n-1]容纳的水为T,则a[m]和a[n]容纳的水大于T只可能在a[m]大于a[0]或者a[n]大于a[n-1]的情况。故可以选择从两端向中间逼近,查找最大值,时间复杂度O(N),class Solution {public: int maxArea(vector &heigh

2015-08-10 14:22:02 218

原创 LeetCode-5 Longest Palindromic Substring

题目:给定一个字符串,返回其最长回文字符串思路:1、暴力搜索,判断每个子字符串是否是回文字符串,可以从大到小判断,即先判断整个字符串    2、DP,子字符串【s[m],。。。s[n]】是回文字符串的条件是:【s[m+1]。。。。s[n-1]】是回文字符串,同时,s[m]==s[n],故可以利用动态规划,根据前长度为T的字符串的信息判断长度为T+1的子字符串的回文信息。class So

2015-08-10 11:28:28 235

原创 LeetCode 1-Two Sum

题目:给一个数组a[n]以及一个给定值target,返回数组中的两个数的位置,使其之和等于给定值。思路:1、暴力法搜索,两个for循环依次选取两个值进行判断,匹配则停止并输出。for(int i=0;i   2、以空间换时间,用一个map,key为数组的值,value为值的位置,一次循环遍历,如果target-a[i]不在map中,则将当前值放入map,否则可以直接输出,时间负责度:O(N

2015-08-10 10:52:55 219

原创 Java引用类型

Java引用类型有四种:强、软、弱、虚灵 强引用:强引用和其他三种引用不同,强引用在在内存中(VM栈中的栈帧上、堆中对象实例分配的空间、方法区静态引用变量)占用4个字节,类似于基本类型,不过基本类型存储的是本身变量的值,而强引用类型存储的是指向对象的地址(或者是索引地址)。 而其他三类引用类型都是以类的形式呈现的,其继承结构如下:三者的使用方式都是类似的:     

2015-03-20 13:22:58 340

原创 Java动态代理总结

动态代理:动态代理本质是一个动态生成增强的被代理对象的过程。静态代理模式:(1):首先我们有一个普通的接口和一个实现了这个接口的Class类:(2):我们创建了一个该类的实例:user Userobject=new userimpl();现在我们希望在执行这个实例中的任何一个方法之前或者之后时都可以自动执行一些额外的代码,比如:记录调用人、验证权限等。常规做

2015-03-16 16:53:56 235

java创建子类对象是否同时创建父类对象探索

结论:不会原因:(1)准备父类如下: package extend_test; public class father_class { public int father_a; public father_class() { System.out.println("父类构造函数");// TODO Auto-generated constructor stub fath

2015-03-09 11:05:31 105

原创 java生产者消费者初探

要求:生产者线程,消费者线程。初始产品数量为1,start两个线程后只有生产者生产后消费者才能消费,且生产者必须等待消费者消费完成后才能继续生产。 实现: 1):类设计(1)产品类:有产品数量属性,信号量属性(两个线程通信,即根据此标示来让生产者线程和消费者线程休眠或者工作),以及两个synchronized方法(用于控制在任何时间只有一个线程操作创建的产品类实例)。public

2015-01-23 14:48:43 319

转载 json配置

http://www.cnblogs.com/hitwtx/articles/2468633.html,

2014-07-04 14:42:58 273

原创 easyui datagrid使用

首先使用js的方式创建一个easyui-datagrid样式的表单:

2014-06-02 09:14:18 410

原创 opensession 和getcurrentsession区别

今天又碰到一个花了半天时间解决的问题,其实问题解决的很简单。但还是觉得需要记录

2014-05-16 13:24:48 436

原创 hibernate配置,开发过程

首先在hibernate官网下载hibernate压缩包,http://hibernate.org/orm/downloads/,目前版本为4.3.5。下载后解压缩,将lib文件夹中的required文件夹下的所有jar包加入到项目中(通过buildpath->user library)。hibernate的作用是将我们对对象的操作通过hibernate内部映射成对数据库的操作。首

2014-05-11 18:30:16 490

空空如也

空空如也

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

TA关注的人

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