03 2019 档案
摘要:0.7 不知道是不是因为left写成了right import java.util.ArrayList; import java.util.List; import java.util.Scanner; class TreeNode{ int val; TreeNode left; TreeNode
阅读全文
摘要:一、栈和队列 1.设计一个有getMin功能的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 class Solution { publ
阅读全文
摘要:给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。
阅读全文
摘要:1.自旋锁和自适应自旋锁 sync在JDK1.6之前之所以被称为重量级锁,是因为对于互斥同步的性能来说,影响最大的就是阻塞的实现。挂起线程与恢复线程的操作都需要转入内核态中完成。从用户态转入内核态是比较耗费系统性能的。 研究表明,大多数情况下,线程持有锁的时间都不会太长,如果直接挂起OS层面的线程可
阅读全文
摘要:1.bit是计算机表示数据最小的单位,又称位,由0/1组成。 1Byte=8bit Byte(字节):计算机处理数据的单位,计算机以字节为单位处理数据 1KB = 1024Byte 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 2^32 bit = 2^32 / 8
阅读全文
摘要:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例:
阅读全文
摘要:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。 示例 1: 示例 2: 注意:
阅读全文
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不
阅读全文
摘要:给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。
阅读全文
摘要:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 数塔。。
阅读全文
摘要:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例:
阅读全文
摘要:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例:
阅读全文
摘要:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。 示例 1: 示例 2: 进阶: 给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗? 要求算法的空间
阅读全文
摘要:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 示
阅读全文
摘要:数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 示例
阅读全文
摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 示例 2:
阅读全文
摘要:给定四个包含整数的数组列表 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 到
阅读全文
摘要:给定一个二叉树,计算整个树的坡度。 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。 整个树的坡度就是其所有节点的坡度之和。 示例: 注意:
阅读全文
摘要:给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例:给定如下二叉树,以及目标和 sum = 22, 返回:
阅读全文
摘要:给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例 2: 注意: 您可以假设树(即给定的根节点)不为 NULL。
阅读全文
摘要:您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] 您需要在二叉树的每一行中找到最大的值。 示例
阅读全文
摘要:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 注意:
阅读全文
摘要:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 示例 2: 进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmal
阅读全文
摘要:给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 执行用时 : 3 ms, 在Binary Tree Right Side View的Java提交中击败了51.57% 的用户 内存消耗 : 34.6 MB, 在Binary Tree Right Si
阅读全文
摘要:一、二叉树 非递归前序遍历 非递归中序遍历 非递归后序遍历 队列层次遍历 N叉树
阅读全文
摘要:作者:cm问前程链接:https://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a92163来源:牛客网采用阵地攻守的思想:第一个数字作为第一个士兵,守阵地;count = 1;遇到相同元素,count++;遇到不相同元素
阅读全文
摘要:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1: 示例 2: 示例 3: 提示:
阅读全文
摘要:引言:在给一个系统定位的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(headdump/hprof文件)等。经常使用适当的虚拟机监控和分析工具可以加快我们分析数
阅读全文
摘要:线程池怎么实现的,核心参数讲一讲? Executors是线程池的工厂类,通过调用它的静态方法如下: 可返回一个线程池。这些静态方法统一返回一个ThreadPoolExecutor,只是参数不同。 1、corePoolSize:指定了线程池中线程的数量 2、maximumPoolSize:线程池中的最
阅读全文
摘要:1.MySQL常用引擎有哪些? A:MySQL常用的引擎有InnoDB、MyISAM、Memory,默认时InnoDB InnoDB:磁盘表,支持事务,支持行级锁,B+Tree索引 优点:具有良好的ACID特性(指数据库事务正确执行的四个基本要素的缩写) 包含Atomicity原子性、Consist
阅读全文
摘要:1.排序 冒泡排序 快速排序 归并排序 2.十进制转二进制【腾讯】 3.不用循环判断一个数是不是2的n次方【腾讯】 4.一个有n个数的数组中的数的范围为[1, n],其中有且仅有一个数有重复,找出那个数?【腾讯】 5.一个数组中,只有两个数字仅出现一次,其他数字均出现两次,找出这两个数字 所有数字依
阅读全文
摘要:* 场景 * 有N张火车票,每张票都有一个编号 * 同时有10个窗口对外售票 * 请写一个模拟程序 * 分析下面的程序可能会产生哪些问题? * 重复销售?超量销售? Solution1:使用线程不安全的集合而且不上锁 报错: ①程序逻辑的线程不安全:有可能多个线程涌入while循环是造成并发问题的根
阅读全文
摘要:给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个 3叉树 : 返回其层序遍历: 说明:
阅读全文
摘要:给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 你应该返回如下子树: 在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。 迭代:
阅读全文
摘要:给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 说明:
阅读全文
摘要:给定一个 N 叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗?
阅读全文
摘要:给定一个 N 叉树,返回其节点值的前序遍历。 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。 说明: 递归法很简单,你可以使用迭代法完成此题吗?
阅读全文