随笔分类 -  Java-面试笔试

摘要:给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。 阅读全文
posted @ 2019-03-13 20:58 Roni_i 阅读(144) 评论(0) 推荐(0)
摘要:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 数塔。。 阅读全文
posted @ 2019-03-13 19:42 Roni_i 阅读(187) 评论(0) 推荐(0)
摘要:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 阅读全文
posted @ 2019-03-13 10:01 Roni_i 阅读(173) 评论(0) 推荐(0)
摘要:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 阅读全文
posted @ 2019-03-13 08:50 Roni_i 阅读(151) 评论(0) 推荐(0)
摘要:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 示例 2: 进阶: 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗? 要求算法的空间 阅读全文
posted @ 2019-03-13 08:30 Roni_i 阅读(132) 评论(0) 推荐(0)
摘要:数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 示例  阅读全文
posted @ 2019-03-12 20:51 Roni_i 阅读(162) 评论(0) 推荐(0)
摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 示例 2: 阅读全文
posted @ 2019-03-12 20:26 Roni_i 阅读(139) 评论(0) 推荐(0)
摘要:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 阅读全文
posted @ 2019-03-11 19:47 Roni_i 阅读(115) 评论(0) 推荐(0)
摘要:给定一个二叉树,计算整个树的坡度。 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。 整个树的坡度就是其所有节点的坡度之和。 示例: 注意: 阅读全文
posted @ 2019-03-11 19:21 Roni_i 阅读(120) 评论(0) 推荐(0)
摘要:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例:给定如下二叉树,以及目标和 sum = 22, 返回: 阅读全文
posted @ 2019-03-11 15:28 Roni_i 阅读(112) 评论(0) 推荐(0)
摘要:给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例 2: 注意: 您可以假设树(即给定的根节点)不为 NULL。 阅读全文
posted @ 2019-03-11 14:12 Roni_i 阅读(110) 评论(0) 推荐(0)
摘要:您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 您需要在二叉树的每一行中找到最大的值。 示例 阅读全文
posted @ 2019-03-11 14:01 Roni_i 阅读(115) 评论(0) 推荐(0)
摘要:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 注意: 阅读全文
posted @ 2019-03-11 13:33 Roni_i 阅读(189) 评论(0) 推荐(0)
摘要:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 示例 2: 进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmal 阅读全文
posted @ 2019-03-11 13:06 Roni_i 阅读(211) 评论(0) 推荐(0)
摘要:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 执行用时 : 3 ms, 在Binary Tree Right Side View的Java提交中击败了51.57% 的用户 内存消耗 : 34.6 MB, 在Binary Tree Right Si 阅读全文
posted @ 2019-03-11 12:48 Roni_i 阅读(191) 评论(0) 推荐(0)
摘要:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 示例 2: 示例 3: 提示: 阅读全文
posted @ 2019-03-10 16:09 Roni_i 阅读(182) 评论(0) 推荐(0)
摘要:1.排序 冒泡排序 快速排序 归并排序 2.十进制转二进制【腾讯】 3.不用循环判断一个数是不是2的n次方【腾讯】 4.一个有n个数的数组中的数的范围为[1, n],其中有且仅有一个数有重复,找出那个数?【腾讯】 5.一个数组中,只有两个数字仅出现一次,其他数字均出现两次,找出这两个数字 所有数字依 阅读全文
posted @ 2019-03-03 11:31 Roni_i 阅读(270) 评论(0) 推荐(0)
摘要:一、单例模式介绍 1.1 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 1.2 为什么要用单例模式? 在我们的系统中,有一些对象其实我们只需要一个,比如说:线程池、缓存、对话框、注册表、日志对象、充当打印机、显卡等设备驱动程序的对象。事实上,这一类对象只能有一个实例,如果制造出多个实 阅读全文
posted @ 2019-02-27 17:55 Roni_i 阅读(174) 评论(0) 推荐(0)
摘要:Given a linked list, remove the n-th node from the end of list and return its head. Example: Note: Given n will always be valid. Follow up: Could you 阅读全文
posted @ 2019-02-27 15:16 Roni_i 阅读(134) 评论(0) 推荐(0)
摘要:Given a non-empty, singly linked list with head node head, return a middle node of linked list. If there are two middle nodes, return the second middl 阅读全文
posted @ 2019-02-27 15:08 Roni_i 阅读(105) 评论(0) 推荐(0)