
Coding
在线编程专题
z海清
只要思想不滑坡,方法总比困难多
展开
-
LeetCode 236:二叉树的最近公共祖先(JAVA)
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5...转载 2020-05-10 00:38:04 · 368 阅读 · 0 评论 -
Google interview 问题:给定视频名称和观看率的列表L,请编写一个函数,以返回观看率排名前10位的视频。视频名称可能会出现多次。
问题:给定视频名称和观看率的列表L,请编写一个函数,以返回观看率排名前10位的视频。视频名称可能会出现多次。例:L = [(‘abc’,10),(‘def’,15),(‘ghi’,10),(‘abc’,12),…,(‘xyz’,100)]该函数应返回[‘xyz’,‘abc’,…,‘def’,‘ghi’]import java.util.Arrays;import java.util.Comparator;import java.util.List;import java.util.Map;i原创 2020-05-09 16:38:37 · 141 阅读 · 0 评论 -
LeetCode 222: 完全二叉树的节点个数(java)
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~2h个节点。示例:输入: 1 / \ 2 3/ \ /4 5 6输出: 6/** * Definition for a binary tree node. * public class TreeNode { * ...转载 2020-05-09 14:48:39 · 355 阅读 · 0 评论 -
LeetCode 221:最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4class Solution { public int maximalSquare(char[][] matrix) { /** dp[i][j]表示以第i行和第j列为右下角能构成的最大正方形,则递推式为:dp[i][j] = 1 + min(dp[i-1][...转载 2020-05-09 00:28:48 · 230 阅读 · 0 评论 -
LeetCode 1114. 按序打印
我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调...原创 2020-05-08 00:35:41 · 247 阅读 · 0 评论 -
Google Interview :问题1:给定一个由n个字符组成的字符串A和一个由m个字符组成的字符串B,编写一个函数,使得B是重复的A的子字符串,该函数将返回字符串A最少需重复的次数
给定一个由n个字符组成的字符串A和一个由m个字符组成的字符串B,编写一个函数,使得B是重复的A的子字符串,该函数将返回字符串A最少需重复的次数,Question 1:实现代码思路分析Question 1:Given a string A consisting of n characters and a string B consisting of m characters, write a f...原创 2020-04-30 16:04:57 · 1254 阅读 · 0 评论 -
旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;public class Solution { ...原创 2019-05-07 22:40:51 · 100 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new ...原创 2019-05-07 22:37:09 · 100 阅读 · 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 v...原创 2019-05-06 21:50:04 · 171 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。方法一:借助堆栈的“后进先出”实现import java.util.ArrayList;import java.util.Stack;public class Solution { public ArrayList<Integer> printListFromTailToHead(List...原创 2019-05-06 21:23:28 · 100 阅读 · 0 评论 -
替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { if(str==null){ ...原创 2019-05-05 20:55:34 · 163 阅读 · 0 评论 -
二维数组中的查找
[编程题]二维数组中的查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。/*思路:首先我们选择从左下角开始搜寻,(为什么不从左上角开始搜寻,左上角向右和向下都是递增,那么对于一个点,对于向右和向下会产生一个岔路;如果我们选择从左下脚开始搜...原创 2019-05-05 20:44:55 · 148 阅读 · 0 评论