LintCode
ListentTome
这个作者很懒,什么都没留下…
展开
-
青蛙跳台阶问题
问题一: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路: 1)一级台阶的时候有一种跳法,两级台阶的时候则有两种跳法, 2) n级台阶的时候,则有两种可能,一种是跳一级,然后剩下的有f(n-1)种跳法,或者跳两级,剩下的有f(n-2)种跳法 3)由以上思路我们很快就能够联想到递归,但是这道题用递归的话,空间复杂度太高。事实上这是一道斐波那契...原创 2018-04-07 22:58:53 · 488 阅读 · 0 评论 -
顺时针从外向里打印一个矩阵
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.import java.util.ArrayList;public class Solution { public Arr...原创 2018-04-22 23:33:57 · 278 阅读 · 0 评论 -
前序中序重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回/** * Definition for binary tree * public class TreeNode { * int val;...原创 2018-04-22 21:07:49 · 134 阅读 · 0 评论 -
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算a,b为32为整数可以使用位运算符class Solution {public: /** * @param a: An integer * @param b: An integer * @return: The sum of a and b */ int ap...原创 2018-03-29 16:25:50 · 338 阅读 · 0 评论 -
翻转链表的递归和非递归
输入一个链表,反转链表后,输出链表的所有元素。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Revers...原创 2018-04-11 22:24:02 · 145 阅读 · 0 评论 -
求第n个丑数
题目: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。如果a < b < c的话,那么2a<2b<2c,取掉a之后,b<2b, c<2c一定成立,那么下一轮让2a,b,c 这三个数比较就好了public class S...原创 2018-04-10 20:50:12 · 393 阅读 · 0 评论 -
打印出二叉树中结点值的和为输入整数的所有路径
题目: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。有递归算法和非递归算法import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeN...原创 2018-04-10 20:20:52 · 231 阅读 · 0 评论 -
网易笔试题3:起床闹钟
牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床。从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)。接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0<=A<24)时Mi(0<...原创 2018-04-10 13:58:39 · 875 阅读 · 0 评论 -
网易笔试题2:找方向
题目: 牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。 输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。输出描述:输出牛牛最后面向的方向,N表示...原创 2018-04-10 13:04:27 · 277 阅读 · 0 评论 -
网易笔试题1:找正整数对
题目: 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。 牛牛希望你能帮他计算一共有多少个可能的数对。 import java.io.*;import java.util.*;public class Main{ public static void main(St...原创 2018-04-10 13:02:26 · 500 阅读 · 0 评论 -
二叉树镜像
题目: 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11镜像二叉树 8 / \ 10 6 ...原创 2018-04-09 19:24:39 · 190 阅读 · 0 评论 -
链表合并
问题:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。有递归和非递归两种方法; 注意非递归里面对头结点设置之后,节点要移动/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = ...原创 2018-04-09 18:36:13 · 159 阅读 · 0 评论 -
数组排序问题
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution { public void reOrderArray(int [] array) { int l=array.length; /*...原创 2018-04-08 20:55:06 · 283 阅读 · 0 评论 -
求a的n次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 第一种方法:使用递归,时间复杂度O(logn)当n为偶数,a^n =(a^n/2)*(a^n/2) 当n为奇数,a^n = a^[(n-1)/2] * a^[(n-1)/2] * a 举例:2^11 = 2^1 * 2^2 * 2^8 2^1011...原创 2018-04-08 17:23:15 · 2071 阅读 · 0 评论 -
位运算计算二进制中的1的个数
question:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路: 1100:减一的话,1011,后三位与原数相反的 那么,n&(n-1)的话就是1000,就能消掉最后一个1“` public class Solution { public int NumberOf1(int n) { int count=0; ...原创 2018-04-08 17:00:31 · 415 阅读 · 0 评论 -
棋盘上礼物价值最大化问题
题目: 6*6的棋盘上面放着36个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于100小于1000),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角,请设计一个算法使其能够获得最大价值的礼物。解题: 这是一个经典的动态规划问题。 首先是动态规划遵守的4个步骤: 1 描述最优解的结构 2 递归定义最优解的值 3...转载 2018-04-07 23:03:57 · 661 阅读 · 0 评论 -
(网易2018校招笔试)[编程题]合集
* 1,小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入X(X可以为0 )个魔法币产生更多的魔法币1:如果投入X个魔法币,魔法机器会将其变为2×1个魔法币魔法机器2:如果投入X个魔法币,魔法机器会将其变为2×2 +个魔法币小易采购魔法神器总共需要个人魔法币,所以小易只能通过两台魔法机器产生恰好个人魔法币,小易需要你帮他设计...原创 2018-04-24 21:14:59 · 1041 阅读 · 0 评论