自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(51)
  • 资源 (7)
  • 收藏
  • 关注

原创 变态跳台阶(java版)

【题目描述】一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。【解题思路1】 //1.用Fib(n)表示跳上n阶台阶的跳法数。如果按照定义,Fib(0)肯定需要为0,否则没有意义。但是我们设定Fib(0) = 1;n = 0是特殊情况,通过下面的分析就会知道,强制令Fib(0) = 1很有好处。ps. Fib(0)等于几都不影响我们解题,

2017-06-13 15:26:50 903 1

原创 跳台阶(java版)

【题目描述】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。【解题思路】 //1.对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来,所以F(n) = F(n-1) + F(n-2) //2.斐波拉契数序列,初始条件 n=1:只能一种方法 n=2:两种 递归一下就好了 //3. 当测试用例比较大时,递归可能会产生超时。public class

2017-06-13 15:09:11 625

原创 斐波那契序列(java版)

【题目描述】大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39【分析】 1. 斐波那契序列满足: F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 2. 如:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …【解题思路1】 //1. 利用通项公式来解答 public clas

2017-06-13 14:13:27 967

原创 旋转数组中的最小数字(java版)

【题目描述】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。【解题思路1】 //1. 遍历数组,逐个比较,找到最小值。import java.util.ArrayList

2017-06-13 11:46:02 699

原创 用两个栈实现队列(java版)

【题目描述】用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。【解题思路1】 //1. 声明两个栈s1和s2。s1作为主栈,s2作为辅助栈。 //2. 为了达到队列先进先出的功能, 每次执行push操作时,先把s1的元素都压栈到s2中,然后将当前元素入栈s1。 //3. 再将s2的元素依次弹出,压入栈s1中,即实现了先入的元素更接近栈顶。 //4. 每次执行

2017-06-13 11:22:10 2595 1

原创 重建二叉树(java版)

【题目描述】输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。【解题思路1】 //1. 先序遍历中,第一个结点即根节点。根据根节点,可以将中序遍历序列分为两部分,左边的即左子树,右边的即右子树。 //2. 根据其

2017-06-13 11:04:16 1487

原创 从尾到头打印链表(java版)

【题目描述】输入一个链表,从尾到头打印链表每个节点的值。【解题思路1】 //1. 遍历链表,使用一个ArrayList存储各个链表结点。 //2. 将ArrayList关于对称中心,进行翻转。得到的ArrayList即为从尾到头打印的顺序。//实现一import java.util.ArrayList;public class Solution { public ArrayList<I

2017-06-13 10:51:14 1106

原创 替换空格(java版)

【题目描述】请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。【解题思路1】 //1.利用已有的库函数public class Solution { public String replaceSpace(StringBuffer str) { String strs =

2017-06-13 10:21:47 587

原创 二维数组中的查找(java版)

【题目描述】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。【解题思路1】 //1. 按行遍历二维数组,当前行遍历中,遇到比目标大的数字,则停止遍历。进入下一行的遍历。直到找到该数字,或遍历结束。public class Solution { public boolean

2017-06-13 10:00:34 1503

原创 矩形覆盖(java版本)

【题目描述】我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?【解题思路】 //1. 当target为0时,返回0。 //2. 当target为1时,返回1。 //3. 当target为2时,有两种排法,或者竖排,或者横排。返回2. //4. 当target大于2时,从大矩形的最左侧开始排。记排法为f(n)。此时第

2017-06-12 10:53:26 562

原创 二进制中1的个数(java版)

【题目描述】输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。【解题思路1】 //1.利用库函数转化为二进制数,然后将二进制数转为字符数组。 //2.遍历数组,计数1的个数。public class Solution { public int NumberOf1(int n) { int count = 0; String str = Int

2017-06-12 10:39:24 691

原创 数值的整数次方(java版)

【题目描述】给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。【解题思路1】 //1.使用库函数public class Solution { public double Power(double base, int exponent) { return Math.pow(base, exponent); }

2017-06-12 10:04:43 2917 1

原创 调整数组顺序使奇数位于偶数前面(java版)

【题目描述】输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。【解题思路1】 //1. 声明一个和原数组等长的数组。 //2. 计算出奇数的个数。遍历原数组,如果是奇数,则放到数组的前半部分。如果是偶数,则放到后半部分。public class Solution {

2017-06-12 09:53:30 636

原创 链表中倒数第k个结点(java版)

【题目描述】输入一个链表,输出该链表中倒数第k个结点。【解题思路1】 //1.设置两个指针,inx1先向后移动k-1步,inx2不动。 //2.然后同时向后移动,inx1到达结尾的时候,inx2刚好为倒数第k个结点。 //3.注意临界情况。如输入链表为空,k<=0,或者链表长度小于k等public class Solution { public ListNode FindKthToTa

2017-06-12 09:26:08 500

转载 8款惊艳的HTML5粒子动画特效

HTML5确实非常强大,很多时候我们可以利用HTML5中的新技术实现非常炫酷的粒子动画效果,粒子动画在HTML5应用中也是比较消耗本地资源的,尤其是CPU,但是有些HTML5粒子效果确实能给用户带来不一样的惊艳用户体验。本文就是要分享8款效果惊艳的HTML5粒子动画特效,希望你可以喜欢。1、HTML5 Canvas粒子模拟效果这是一款利用HTML5 Canvas模拟出来的30000个粒子动画,当你用

2017-06-12 09:14:53 2410

原创 反转链表(java版)

【题目描述】输入一个链表,反转链表后,输出链表的所有元素。【解题思路1】 //1. 只反转链表的值,并不是真正的把结点交换。 //2. 从第一个结点开始,找关于中间轴对称的结点,然后交换它们的值。public class Solution { public ListNode ReverseList(ListNode head) { if(head == null || h

2017-06-12 09:10:27 407

原创 树的子结构(java版)

【题目描述】输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)【解题思路】 //1. 从根节点开始判断,判断树root2是不是root1的子树。 //2. 如果不是,再递归判断root2是不是root1.left的子树。 //3. 如果第二步没成立,则再判断root2是不是root1.right的子树。 //4. 直到返回true,或者递归结束。pu

2017-06-11 16:45:54 526

原创 二叉树的镜像(java版)

【题目描述】操作给定的二叉树,将其变换为源二叉树的镜像。【输入描述】【解题思路】 //1. 交换左子树和右子树//递归public class Solution { public void Mirror(TreeNode root) { if(root == null){ return; } if(root != n

2017-06-10 16:26:33 687

原创 栈的压入、弹出序列(java版)

【题目描述】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)【解题思路】 链接:https://www.nowcoder.com/questionTe

2017-06-09 11:26:47 940

原创 从上往下打印二叉树(java版)

【题目描述】从上往下打印出二叉树的每个节点,同层节点从左至右打印。【解题思路】 //1. 层序遍历二叉树。 //2. 使用一个ArrayList记录下依次访问到的节点。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;public class Solution { public

2017-06-09 10:40:49 848

原创 二叉搜索树的后序遍历序列(java版)

【题目描述】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。【解题思路】BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段(子树)都是合法的后序序列。完美的递归定义 。

2017-06-09 10:35:56 1199

原创 二叉搜素树与双向链表(java版)

【题目描述】输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。注:不能创建新的结点,理解为不能显式的new一个出来。【解题思路1】 //1. 利用中序遍历的思想来完成。 //2. 给定一个指针用来存储中序遍历的第一个节点,作为双向链表的头指针。 //3. 对于遍历到的当前节点,若是第一个节点,则存储起来。否则,将上一个节点的右指针

2017-06-09 10:10:46 895

原创 连续子数组的最大和(java版)

【题目描述】HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度

2017-06-09 09:19:27 847

原创 整数中1出现的次数(从1到n整数中1出现的次数)(java版)

【题目描述】求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。【解题思路1】 //1. 直接遍历给定区间。 //2. 对遍历的每个数,判断其包含的1的个数。结果累加。

2017-06-08 11:47:34 1382

原创 把数组排成最小的树(java版)

【题目描述】输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。【解题思路】 //1. 利用一个List存储所有的整数。 //2. 对List的元素排序。比较器是自定义的。使用了java自带的compareTo()函数。 排序规则如下: * 若ab > ba

2017-06-08 11:17:05 1076

原创 丑数(java版)

【题目描述】把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。【题目解释】原题中的描述并不确切,这里做一下详细些的解释。原题的本意是,丑数是可以通过不断的除2、3、5,最后等于1的数字。其中2、3、5可以重复出现。即丑数可以通过2、3、5的乘积来表示。所以,虽然8包含因子4

2017-06-08 10:55:44 1537

原创 数组中的逆序对(java版)

【解题思路】在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 【输入描述】题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100

2017-06-08 10:33:10 1694

原创 两个链表的第一个公共结点(java版)

【题目描述】输入两个链表,找出它们的第一个公共结点。注:默认为单链表,且无环【解题思路】 //1.两个单链表若存在公共结点,则从第一个公共结点开始,后面的结点都是公共的。 //2.比较两个链表的长度。设置两个指针,分别指向两个链表的头结点。较长的链表的指针先走|len1-len2|步。然后两个指针同时向后移动,两个指针相遇时,即为两个链表的第一个公共结点。public class Solutio

2017-06-08 10:03:27 1214

原创 二叉树的深度(java版)

【题目描述】输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。【解题思路1】 //1. 采用递归实现。当前节点的深度,等于左子树深度和右子树深度的最大值+1。public class Solution { public int TreeDepth(TreeNode root) { if(root == n

2017-06-08 09:22:06 1306

原创 表示数值的字符串(java版)

【题目描述】请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。【解题思路】 //1. 合法的数值可以表示为public class Solution { private int i

2017-06-07 20:52:17 3335 1

原创 平衡二叉树(java版)

【题目描述】输入一棵二叉树,判断该二叉树是否是平衡二叉树。注:注意平衡二叉树和平衡二叉搜索树的区分。有的书中混淆了两个概念。这里的平衡二叉树只关注是否平衡。【解题思路】 //1. 平衡二叉树的定义是,满足任何一个节点的左右子树高度差都不大于1 //2. 递归处理。先判断根节点是否满足左右子树高度差的关系。然后判断左子树是否满足平衡二叉树的定义,然后是判断右子树。只有所有的节点都满足平衡二叉树的定

2017-06-07 16:05:53 994

原创 左旋转字符串(java版)

【题目描述】汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!【解题思路1】两次翻手法 //1. 取循环左移的子串,翻转。 //2. 取剩余的子串,翻转。

2017-06-07 15:50:05 1565

原创 翻转单词顺序(java版)

【题目描述】牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?【解题思路1】 //1.

2017-06-07 15:35:27 1448

原创 孩子们的游戏(圆圈中最后剩下的数)(java版)

【题目描述】每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最

2017-06-07 14:29:56 1494

原创 不用加减乘除做加法(java版)

【题目描述】写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。【解题思路】 //1. 异或运算相当于做加法,不计算进位 //2. 与运算相当于求进位。a+b=循环求本位+进位的值,直到不再产生进位。 //3. 给一个样例 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算进位值,得到10. 如果这一

2017-06-07 11:38:58 1140

原创 把字符串转换成整数(java版)

【题目描述】将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0【输入说明】输入一个字符串,包括数字字母符号,可以为空【输出说明】如果是合法的数值表达则返回该数字,否则返回0【样例】 输入: +2147483647 1a33 输出: 2147483647 0【解题思路1】 //1. 将

2017-06-07 11:16:17 7712 1

原创 数组中重复的数字(java版)

【题目描述】在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。【参数说明】 numbers: 输入的整数数组 length: 数组的长度 duplicati

2017-06-07 10:49:47 3861

原创 构建乘积数组(java版)

【题目描述】给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法【解题思路】//1. 根据题目的描述,且不能使用除法的规定。可以将B[i]分为上三角和下三角两个部分分别计算。 //2. 同一行中,A[0]A[1]…A[i-1]为第一部分,即对角线左边的部分,记作k[i]; A

2017-06-07 09:44:28 964

原创 字符流中第一个不重复的字符(java版)

【题目描述】请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。【输出描述】如果当前字符流没有存在出现一次的字符,返回#字符。【解题思路】 //1.使用LinkedHashMap记录每个字符出现的次数。LinkedHashMap可以按照插入

2017-06-06 17:22:52 911

转载 判断链表中是否有环 -- 有关单链表中环的问题

转自:http://blog.csdn.net/doufei_ccst/article/details/10578315 给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3

2017-06-06 17:06:26 957

studentmanage_strust2.rar

基于strust2的学生信息管理系统,可以实现简单的学生信息管理功能,基本的数据库管理功能(增删查改排名选择等)。

2015-01-27

PartitionManager9.0.exe

sd卡分区专用工具,可以很方便的对sd卡分区,方便管理。

2015-01-27

MFC类库中文详解.rar

MFC类库中文详解,有一些常用的及较为重要的mfc类的使用详解。初学mfc的朋友们,可能会有所需要。

2015-01-27

vmware.zip

vmware虚拟机是一款高效、简单的虚拟机。可以很好地试运行有疑问的程序和代码,可以进行程序编写的辅助测试。

2015-01-27

pdf转换word.zip

pdf格式向word格式的转化,适合扣字出来,然后把文字贴到word里做后期处理。

2015-01-27

radio5041通用基带.zip

android刷机使用,5041通用基带。android刷机一般不会刷成砖头,主要是rap包和基带包的不匹配问题,找到相应的基带包,可以顺利实现拯救已经变砖的手机,祝小白们上手顺利。

2015-01-27

whereisip.zip

根据ip地址探测物理位置,可以作为网络定位,网络攻击等的很基本的工具使用。根据网络提供商提供的数据,定位可能会出现错误和偏差。

2015-01-27

空空如也

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

TA关注的人

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