算法
Luckily_Liu
这个作者很懒,什么都没留下…
展开
-
有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?
题目有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。 给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。代码public class TaiJieWenTi { public static void main(String[] ar原创 2016-09-11 15:59:12 · 10156 阅读 · 0 评论 -
给定一个字符串,找出该字符串的最长回文子串
题目给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长回文子串为abba。代码public class LongPalindromic { public static void main(String[] args) { String str原创 2016-09-12 20:44:03 · 2607 阅读 · 0 评论 -
链表类算法题
本文只作为学习笔记,如若侵权请告知,一定及时删除题目在一个链表中,查找倒数的第k个数。思路:使用双指针的方式,前一个指针先走k步(中间隔k-1个结点),后一个指针才开始走,直到第一个指针走到尾,后一个指针指向的就是要找的倒数第k个数。值得注意的是:1、k是否超过链表长度且k必须为正整数;2、链表是否为空。链表结构class Node{ private int value; priv原创 2016-09-07 16:11:36 · 418 阅读 · 0 评论 -
一个整形数组中有正数也有负数,数组中连续一个或多个组成子数组,每个子数组都有一个和,求所有子数组中和的最大值
本文只作为学习笔记,如若侵权请告知,一定及时删除题目(1)输入一个整型数组,数组里有正数也有负数。数组中一个或者连续的多个整数组成一个字数组。求所有字数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18思路因为时间复杂度为O(n),则只能遍历一次数组,这里同时使用原创 2016-09-08 20:29:10 · 4919 阅读 · 0 评论 -
已知前序遍历序列和中序遍历序列,求二叉树的后序遍历
本文只作为学习笔记,如若侵权请告知,一定及时删除题目(1)已知前序遍历序列和中序遍历序列,要求重建二叉树思路:在前序遍历的序列中第一个就是树的根结点,此时再在中序遍历的序列里查找这个根结点,则中序遍历的序列里根结点左侧的就是左子树,右侧的就是右子树,再对左右子树进行同样的操作,此时可以使用递归实现,这样便能构造出这个二叉树。代码class TreeNode{ private int val原创 2016-09-08 14:47:31 · 1095 阅读 · 0 评论 -
输入一个递增排序的数组和一个数字sum,在数组中查找两个数,使得他们的和正好是sum
本文只作为学习笔记,如若侵权请告知,一定及时删除题目输入一个递增排序的数组和一个数字sum,在数组中查找两个数,使得他们的和正好是sum。思路对于有序数组,用两个指针分别指向头和尾部,然后将他们的和与sum比较,若等于sum,退出;若<sum,则头指针向后移;若>sum,则尾指针向前移;直到两个指针相遇。代码public class Item { public static void ma原创 2016-09-08 21:06:18 · 3231 阅读 · 0 评论