Algorithm
yin1031468524
喜欢打篮球,听歌
展开
-
在一个二维数组中,行列都是递增,判断数组中是否含有输入的整数
完整题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。package com.jason.algorithm;public class ArrayAlgootithmPractice { public static void main(String[] args) {原创 2017-02-16 21:57:10 · 1048 阅读 · 0 评论 -
二叉树详解
1、二叉树定义 计算机中数据结构的一种,计算机中数据结构的一种每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树满二叉树:除最后一层无任何子节点外,每一层原创 2017-02-25 21:09:53 · 1128 阅读 · 0 评论 -
Java中创建二叉树并实现三种遍历方式
由上一篇二叉树详解中,我们知道根据前序中序或中序后序,可以还原二叉树,这里主要说二叉树的三种遍历方式1、二叉树的创建此处原创 2017-02-25 21:11:47 · 1355 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。原创 2017-03-04 17:30:28 · 1051 阅读 · 0 评论 -
用两个栈来实现一个队列,完成队列的Push和Pop操作。
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。先简单介绍下栈和队列栈:栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底原创 2017-02-24 22:46:28 · 2566 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
在实现这道题之前,我们先来了解下原码、反码、补码。一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.比如8位二进制1,-1的原码如下[+1]原 = 0000 0001[-1]原 = 1000 0001第一位是符原创 2017-02-16 10:02:15 · 4931 阅读 · 0 评论 -
根据二叉树的前序遍历和中序遍历的结果,重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。先定义一个二叉树类TreeNodepackage com.jason.algorithm; public class TreeNode {原创 2017-02-23 21:48:44 · 912 阅读 · 0 评论 -
输入一个链表,从尾到头打印链表每个节点的值。
题目描述输入一个链表,从尾到头打印链表每个节点的值。先定义一个链表类,ListNode,里面主要包好val和链表的下一个值public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}具体实现方法如下:package c原创 2017-02-20 09:39:53 · 1009 阅读 · 0 评论 -
将一个字符串中的空格替换成“ %20”
题目描述:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。在编码之前,我们先来看看几个正则表达式,下表列出了所有的元字符和对它们的一个简短的描述。元字符描述\将下一个字符标记符、或一个向后引原创 2017-02-17 21:35:09 · 3238 阅读 · 0 评论 -
Java中斐波那契数列相关面试题
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)题目描原创 2017-03-05 18:57:54 · 1423 阅读 · 0 评论