自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (2)
  • 收藏
  • 关注

原创 leetcode90:Subsets II

题目:求数组的各种组合,数组中可能存在重复的数字,但是求出来的所有组合中不能有重复的组合。代码:import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 题目:求一个数组nums的所有组合,nums中可能有重复的数字。但是求得的组合不能有相同的组合。 * 例如:nums = [1,

2016-08-26 10:46:48 414

原创 Leetcode39:Combination Sum

题目:给定一个整型数组candidates,和一个目标值target,使用数组中的数组成target,找出所有的组合。例如: candidates = {2,3,6,7}; target =7 ; 则返回的结果为:[[7],[2,2,3]] 。 题目说明,candidates中的数字全为正数,target也全为正数。 并且返回的结果中candidates中的数可以是重复的,而且不限次数的重复。但每

2016-08-25 10:41:34 665

原创 leetcode11:Container With Most Water

题目:给出一个非负整数数组,数组中的数代表一个栏杆,寻找两个栏杆和x轴形成一个水池,找出能装水最多的两个栏杆。  假如给出的例子是height = {1,2,3,4,5,6,7,8,9},则height[4]=5,height[8]=9,则形成的水池是(9-5)*5=20思路:先用两个指针,一个low一个hight,一个指向数组开头,一个指向数组结尾,则我们要找的两个栏杆肯定在这两

2016-08-24 16:03:00 318

原创 把二元查找树转变成排序的双向链表

输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。

2016-08-17 11:18:55 378

原创 左旋转字符串

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。思路:本题,或许我们想出时间复杂度为O(n)、辅助内存空间为O(n)的方法和时间复杂度为O(n*

2016-08-15 17:58:36 976

原创 把数组排成最小的数

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/25411174200952174133707/题目:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。例如输入数组{32,  321},则输出这两个能排成的最小数字32132。思路:这个题目很

2016-08-15 17:39:15 647

原创 从尾到头输出链表

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/2541117420079237185699/题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。思路:方法一:递归输出。    方法二:维护一个栈,先全部进栈,再依次出栈输出。    方法三:先将链表反

2016-08-12 15:10:24 448

原创 两链表的第一个公共结点

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/254111742008053169567/题目:两个单向链表,找出它们的第一个公共结点。思路:两个单向链表,如果存在公共节点,则两个链表会呈现 Y 形状,所以两个链表最后一个节点肯定是公共节点。可以找到两个链表的最后节

2016-08-12 12:19:15 359

原创 在字符串中删除特定的字符

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/25411174200801931426484/题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r

2016-08-12 10:43:31 3779

原创 寻找丑数

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/2541117420094245366965/题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1

2016-08-11 22:07:08 525

原创 输出1到最大的N位数

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛网易日志:http://zhedahht.blog.163.com/blog/static/2541117420094279426862/题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。思路:首先直接用int或者long进行循环显然不切实际,如果

2016-08-11 20:05:26 711

原创 颠倒栈

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。何海涛日志:http://zhedahht.blog.163.com/blog/static/25411174200943182411790/题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5处在栈顶。我的思路:要用递归颠倒一个栈,则我

2016-08-11 15:59:47 1393

原创 数组中出现次数超过一半的数字

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。思路:假设我们要找的这个数字为a,既然这个数字出现的次数超过了数组长度的一半,则其出现的次数超过了其他所有数字出现的次数之和。所以,如果随便拿一个数字a和另外一个数字抵消掉,最终数组中留下来的数字肯定是a,如果不是a和另外一个数字相抵消,那么最后留下来的

2016-08-09 19:22:06 745

原创 二叉树两结点的最低共同父结点

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。题目:输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。思路:方法一:用递归   方法二:找到从根节点分别到达两个节点的路径链表,然后再查找两个链表离根节点最远的公共节点,即我们的结果。   两种方法思路都很清晰,所以不多做陈述,下面上代码.代码:/** * 题目:输入二叉树中的两个结点,输

2016-08-09 18:11:03 1032

原创 二元树中和为某一值的所有路径

声明:本片文章为阅读何海涛网易日志后,自己用java实现后的学习总结。题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。思路:先寻找从根节点到叶子节点的所有路径,将这些节点压进栈中,当遇到叶子节点时,判断sum是否为0,如果为0,则逆序输出栈中的节点的值,即为要求的输出。如果遇到的不是叶子节点,则先将左节

2016-08-05 17:30:23 422

原创 复杂链表的复制

声明:本篇文章是阅读了何海涛的日志后,自己用java 实现后的学习总结。题目:有一个复杂链表,其结点除了有一个Next指针指向下一个结点外,还有一个Sibling指向链表中的任一结点或者NULL。思路:方法一:第一遍先复制节点,复制next和val,后面再单独处理sibling,这个时间复杂度为O(n*n)方法二:将复制出来的节点穿插在原节点中间(对应何海涛日志的第三种方法)。然后用O

2016-08-04 20:27:55 644

原创 树的子结构

声明:本题是剑指offer中的一道题目,但是看了何海涛的日志,我的思路和他的思路有些不同。这里写下我自己思路和代码。题目:二叉树的结点定义如下。思路:判断root2是不是root1的子树,首先判断从root1开始的最上面的子树和root2是不是相同,如果相同,则返回true,如果不相同就判断root1.left和root1.right对应的子树是不是包含root2。所以代码分两个函数,

2016-08-04 11:34:21 384

原创 字符串组合

声明:本篇文章为学习何海涛的网易日志后,自己的学习总结。题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。思路:使用递归算法,假如我们要在low,high之间找长度为n的字符组合,当遇到low的字符,如果low位置的字符加入到组合时,只需要在low+1,high之间找到n-1位字符的组合,如果low位置的字符不

2016-08-03 15:51:58 571

原创 判断二叉树是不是平衡

声明:本文章是学习了何海涛的网易日志后自学习的总结。题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。思路:方法一:我们首先可以想到的就是递归,这个方法不多做阐述。class TreeNode{ int val; TreeNode left; TreeNode right; public

2016-08-02 21:38:01 382

java EE API

java企业版,程序员必备。java EE Api帮助文档。

2015-04-10

生物计算机

详细介绍了生物计算机的发展历史和发展前景。

2012-12-06

空空如也

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

TA关注的人

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