
Java
文章平均质量分 68
「已注销」
这个作者很懒,什么都没留下…
展开
-
android+eclipse环境搭建
转自:http://blog.youkuaiyun.com/zhangyuehuan/article/details/7533483本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的Hell转载 2015-10-14 20:41:45 · 351 阅读 · 0 评论 -
插入排序法java实现
插入排序插入排序(Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。时间复杂度:O(n^2);1.直接插入法原创 2017-05-02 19:21:59 · 945 阅读 · 0 评论 -
Huffman编码原理(C++,java实现)
对于给定一组数利用huffman对其编码1. 首先介绍huffman树原创 2017-04-24 21:07:08 · 585 阅读 · 0 评论 -
leetcode reorderList Given{1,2,3,4}, reorder it to{1,4,2,3}.
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given{1,2,3,4}, reorder it to{1原创 2017-05-10 16:36:56 · 332 阅读 · 0 评论 -
《Cracking the Coding Interview程序员面试金典》-----
有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。(这道题的难点是对题目的理解,万不可理解成走线段的交点)做这道题时,完全不理解机器人具体是如何走的,如果按照面试金典中的解法,只能将“机器人只能”走格点理解为每个格子整原创 2017-06-21 19:02:53 · 600 阅读 · 0 评论 -
剑指offer面试题之求第n个丑数
第一种方法:从1开始判断下一个数是否是丑数,判断标准:如果能被2整除则,一直除以2,并用商来更新原来的数,直到不能被2整除记下最终所得数为M2对于M2如果能被3整除,则一直除以3,并用商来更新原来的数,直到无法被3整除,记下最终所得数为M3对于M3如果能被5整除,则一直除以5,并用商来更新原来的数,直到无法被5整除,记下最终所得数为M5如果最终的M5==1那么,这个数是丑数,如原创 2017-06-09 18:02:27 · 1950 阅读 · 0 评论 -
要求输出所有在m和n范围内的水仙花数。
要求输出所有在m和n范围内的水仙花数。原创 2017-09-22 23:38:32 · 8592 阅读 · 0 评论 -
现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度
现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度原创 2017-09-18 15:25:06 · 7749 阅读 · 2 评论 -
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。原创 2017-09-18 16:25:16 · 9259 阅读 · 0 评论 -
整数加法
整数加法原创 2017-10-05 13:43:54 · 471 阅读 · 0 评论 -
由LeetCode引发的二叉树 前序,中序,后序总结
前序遍历:访问根节点——访问左子树——访问右子树中序遍历访问左子树——访问根节点——访问右子树后序遍历访问左子树——访问右子树——访问根节点实例演示:对于如下的二叉树:前序遍历:GDAFEMHZ中序遍历:ADEFGHMZ后序遍历:AEFDHZMG原创 2017-04-28 12:35:42 · 619 阅读 · 0 评论 -
剑指offer 斐波那契数
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n首先介绍斐波那契数:(引自百度百科)斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以原创 2017-05-16 11:14:06 · 383 阅读 · 0 评论 -
剑指offer 变态跳台阶问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。问题的起源是斐波那契数,其实就是一个递归方程的推导我们假设在青蛙跳台阶的过程中,我们从后往前推,假设青蛙跳完n阶有f(n)如果青蛙最后一步跳1阶,那么之前青蛙跳完了n-1阶,有f(n-1)种跳法如果青蛙最后一步跳2阶,那么之前青蛙跳完了n-2阶,有f(n-2)种跳法原创 2017-05-18 10:53:33 · 377 阅读 · 0 评论 -
leetCode中java实现归并排序
Sort a linked list in O(n log n) time using constant space complexity.考虑到时间复杂度为O(nlogn)的排序算法有:快速排序,归并排序,堆排序和希尔排序,而适合用链表实现的应该是归并排序归并排序算法介绍:归并排序(Merge Sort)完全遵循上述分治法三个步骤: 1、分解:将要排序的n个元原创 2017-05-09 10:49:13 · 563 阅读 · 0 评论 -
LeetCode Given a binary tree, return the postorder traversal of its nodes' values.
Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[3,2,1].Note: Recursive solutio原创 2017-04-28 11:29:02 · 3545 阅读 · 0 评论 -
Given a binary tree, return the preorder traversal of its nodes' values.
Given a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3].Note: Recursive solution原创 2017-04-28 12:45:09 · 662 阅读 · 0 评论 -
LeetCode Given a linked list, return the node where the cycle begins. If there is no cycle, returnn
挺烧脑的一道题,这里搜集了一个很好的解答方案参考自:http://blog.youkuaiyun.com/snow_7/article/details/52181049方法一:对于一个单链表判断其是否含环的最基本想法是,设置两个指针,一快一慢,其中快指针的步长是慢指针的两倍对于一个已经含环的单链表,如下图所示:设环外节点数为x,环中节点数为n,那么对于快慢指针来说,当他们相遇时慢指原创 2017-05-10 22:19:48 · 1068 阅读 · 0 评论 -
剑指Offer
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:第一步:找矩阵对角线上比target小的最大数A,那么A所在的正方形中所有数的值都比target小第二步:找到B点,它是第一列中比target大的第一个数第三步:找到C点,它是第一原创 2017-05-12 14:35:53 · 306 阅读 · 0 评论 -
冒泡排序
冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。例如我们需要将12 35 99 18 76 这 5 个数进行从大到小的排序。第一次排序:后续排序与重复第一次排序的工作。对应java代码实现:原创 2017-04-23 11:44:19 · 343 阅读 · 0 评论 -
java选择排序实现
1.选择排序算法描述:选择排序:比如在一个长度为N的无序数组中,在第一趟遍历N个数据,找出其中最小的数值与第一个元素交换,第二趟遍历剩下的N-1个数据,找出其中最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数值与第N-1个元素交换,至此选择排序完成。以下面5个无序的数据为例:56 12 80 91 20(文中仅细化了第一趟的选择过程)原创 2017-04-23 22:48:20 · 438 阅读 · 0 评论 -
java实现交换排序
所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。public class Solution { /* * java实现交换排序 */ public int[] sortChange(int[] data){ int temp; for(原创 2017-04-23 23:01:05 · 1506 阅读 · 0 评论 -
剑指offer 二叉树重构问题
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。java实现代码:原创 2017-05-15 20:12:35 · 291 阅读 · 0 评论 -
剑指offer
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。具体解题思路参考:http://www.cnblogs.com/wanghui9072229/archive/2011/11/22/2259391.htmljava实现代码:import java.util.Stack;public class Solution { Stac原创 2017-05-15 22:16:11 · 274 阅读 · 0 评论 -
剑指offer 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。暴力法求解:(不提倡)import java.util.ArrayList;public clas原创 2017-05-16 11:01:46 · 301 阅读 · 0 评论 -
二分查找算法详解以及java实现
二分查找的基本思想:m=(i+j)/2i=m+1j=m-1对于一组数据:数值 22 34 55 7789 93 99 102 120 140索引 0 12 3 4 5 67 8 9查找数据77,99,34的流程:对于77:i=0, j=9, m=4, k=89>77 选择左子表i=0, j=3, m=1, k=3原创 2017-04-25 15:29:19 · 852 阅读 · 0 评论 -
由LeetCode排序引起的排序算法总结
排序算法分类概览冒泡排序、选择排序、插入排序,对象排序,时间复杂度为O(n^2);快速排序、归并排序、堆排序时间复杂度为O(nlogn);基数排序、计数排序,划分排序,桶排序,时间复杂度都是O(n)排序算法性能比较不同排序算法性能比较排序算法稳定性定义算法复杂度分类及比较原创 2017-04-23 10:57:05 · 1169 阅读 · 0 评论