摘要:
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。例如,把9表示成二进制是1001,有2位是1。因此,如果输入是9,该函数输出为2。 1. 常规解法一:除2的思想,每次判断最低位是否为1(当输入的数是负数时,会陷入死循环) 2. 常规解法二:乘2的思想(左移一位),从低到高依 阅读全文
摘要:
题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0。 java // 牛客网通过 public class Solution { public double Power(double bas 阅读全文
摘要:
斐波那契数列的非递归解法 1. 递归解法 2. 非递归解法(自己思路,牛客网通过) 由于使用递归解法进行了许多重复的计算,比如:计算f(10),要先计算f(9)和f(8),计算f(9),要先计算f(8)和f(7)。仅仅这两步f(8)就被计算了2次。当计算f(100)时,使用递归法求解耗时非常严重,主 阅读全文
摘要:
题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n 阅读全文
摘要:
旋转数组的最小数字 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请 阅读全文
摘要:
用两个栈实现队列(关键:对于stack2要全部清空后才允许进栈(全部弹出)) 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 1.(牛客网通过) 2.别人的实现方法 java 链接:https://www.nowcoder.com/questionTerm 阅读全文
摘要:
根据前序和中序建立二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 阅读全文
摘要:
从尾到头打印链表(关键:用栈) 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析: listNode 是链表,只能从头遍历到尾,但是输出却要求从尾到头,这是典型的"先进后出",我们可以想到栈! ArrayList 中有个方法是 add(index,value),可以指定 i 阅读全文
摘要:
替换空格(学会从后往前的替换思想,来减少移动次数) 题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法一:Java调库 方法二:不调库的方法 1. 先计算替换后的字符串需要多大的空 阅读全文
摘要:
判断二维数组中是否包含某个数 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 总思路:如果要查找的数字不在数组的【右上角】,则每一次都删除一列或一行 阅读全文