剑指offer
文章平均质量分 67
Nixo
Android developer
展开
-
剑指offer第11题 输出一个数的二进制中1的个数
时间限制:1秒 空间限制:32768K 热度指数:202239题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示由于在计算机中的运算,都要转变为二进制数,所以我们在写这道题的时候,没有必要将其转换为二进制数(~ ̄▽ ̄)~二进制数中 n和n-1的二进制数 取与 会有一个规律,下面会画图推出规律的。也就是说,每一次执行n=n&(n-1) 就会把二进制数的n最后一位变成0那么...原创 2018-04-14 15:59:45 · 177 阅读 · 0 评论 -
剑指offer第12题 输出一个数的整数次幂
时间限制:1秒 空间限制:32768K 热度指数:208968题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。这道题主要考查我们对于doble和int类型的熟练度,还有当用例为负数的时候,我们该怎么做。解题的思路如下:1.创建for循环,进行用例的绝对值次循环,每一次都将做 乘自己的运算(*=)2.判断用例正负,如果是负,就将1...原创 2018-04-14 16:32:38 · 169 阅读 · 0 评论 -
剑指offer第5题,用两个栈实现队列
时间限制:1秒 空间限制:32768K 热度指数:210050本题知识点: 队列 栈题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。这道题其实就是想让我们用两个栈的(先进后出) 来表示队列的(先进先出)那么我们就可以模拟出队列了,1.写一个入队方法(push)和一个出队方法(pop),2定义两个stack,stack1为入队的栈,stack2为出队的栈因...原创 2018-04-09 20:36:09 · 162 阅读 · 0 评论 -
剑指offer第6题 ,旋转数组的最小值。
时间限制:3秒 空间限制:32768K 热度指数:286326本题知识点: 查找题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。旋转数组就是讲前几个元素转移到后部...原创 2018-04-09 20:48:45 · 116 阅读 · 0 评论 -
剑指offer第一题 [二位数组的查找]
二维数组的查找时间限制:1秒 空间限制:32768K 热度指数:622393本题知识点: 查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路: 一般对于编程题来说,看懂题是解题的关键,我们先分析题目,题目可以简单概括为一句: “...原创 2018-04-02 16:18:33 · 186 阅读 · 1 评论 -
利用递归和动态规划解 剑指offer 第7,8,9题思路解析 (斐波那契额,跳台阶,变态跳台阶)
时间限制:1秒 空间限制:32768K 热度指数:286711题目描述(斐波那契数列)大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39不知道斐波那契数列的同学可以看这里啦:举个例子:斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 可以看出 第一个数是1第二个数也是1,从第三个数开始就是前两个数的和第四...原创 2018-04-11 13:57:45 · 205 阅读 · 0 评论 -
剑指offer第二题,替换字符串中的空格(String,StringBuffer,StringBuilder区别)
时间限制:1秒 空间限制:32768K 热度指数:539500本题知识点: 字符串代码语言:JAVA题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。这道题主要考察了我们队字符串的操作程度与思维逻辑,还考察了我们对String ,StringBuffer , StringBuilder的...原创 2018-04-05 16:57:19 · 950 阅读 · 0 评论 -
剑指offer第三题,从尾到头打印链表
时间限制:1秒 空间限制:32768K 热度指数:474959本题知识点: 链表题目描述输入一个链表,从尾到头打印链表每个节点的值。第一种思路,我们可以使用递归,每一次递归都判断下一个是否是空,如果是空就是尾部,然后添加到一个ArrayList里,最后返回代码如下:import java.util.ArrayList;public class Solution { ArrayL...原创 2018-04-07 13:23:31 · 183 阅读 · 0 评论 -
剑指offer第四题,重构二叉树
时间限制:1秒 空间限制:32768K 热度指数:314202题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这道题涉及到了树的数据结构,首先构造树需要中序序列+前序或者后序,下面我们先来了解一下给出前序...原创 2018-04-07 13:49:57 · 261 阅读 · 0 评论