这是悦乐书的第247次更新,第260篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第114题(顺位题号是504)。给定一个整数,返回其基数为7的字符串表示。例如: 输入:100 输出:“202” 输入:-7 输出:“-10” 注意:输入范围为[-1e7,1e7]。 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法 直接使用包装类Integer的toString(arg, arg2)方法,将...
这是悦乐书的第246次更新,第259篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第113题(顺位题号是501)。给定具有重复项的二叉搜索树(BST),找到给定BST中的所有模式(最常出现的元素)。假设BST定义如下: 节点的左子树仅包含键小于或等于节点键的节点。 节点的右子树仅包含键大于或等于节点键的节点。 左右子树也必须是二叉搜索树。 例如: 鉴于BST [1,null,2,2],1\2/2 返回[2]。 注意:如果树有多个模式,...
【Q19】 Given a linked list, remove the n-th node from the end of list and return its head. Example: Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked list becomes 1->2->3->5.Note: Given n will always be valid. Follow up: Could you do this in one pass? # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # se...
【Q13】 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 For example, two is written as II in Roman numeral, just two ones added together. Twelve is written as, XII, which is simply X + II. The number twenty seven is written a...
这是悦乐书的第244次更新,第257篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第111题(顺位题号是496)。你有两个数组(没有重复)nums1和nums2,其中nums1的元素是nums2的子集。在nums2的相应位置找到nums1元素的所有下一个更大的数字。nums1中的数字x的下一个更大数字是nums2中右边第一个更大的数字。如果它不存在,则输出该数字的-1。例如: 输入:nums1 = [4,1,2],nums2 = [1,3,4,2]。 输出:[-1,3,-1] 说明:...
这是悦乐书的第242次更新,第255篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第109题(顺位题号是485)。给定二进制数组,找到此数组中连续1的最大数量。例如: 输入:[1,1,0,1,1,1] 输出:3 说明:前两位或后三位是连续的1。连续1的最大数量为3。 注意:输入数组只包含0和1。 输入数组的长度是一个正整数,不会超过10,000。本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语...
这是悦乐书的第211次更新,第224篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第79题(顺位题号是374)。我们正在玩数字游戏。 游戏如下:我从1到n中选择一个数字。 你必须猜测我选择了哪个数字。每次你猜错了,我都会告诉你这个数字是高还是低。您调用预定义的API guess(int num),它返回3个可能的结果(-1,1或0): -1:我的数字较低 1:我的数字更高 0:猜对了! 例如: 输入:n = 10,pick = 6 输出:6 本次解...
Manacher算法学习笔记 DECLARATION 引用来源:https://www.cnblogs.com/grandyang/p/4475985.html CONTENT 用途:寻找一个字符串的最长回文子串 时间复杂度:O(N) 算法步骤: 1.添加特殊字符由于回文串的长度可奇可偶,比如"bob"是奇数形式的回文,"noon"就是偶数形式的回文,马拉车算法的第一步是预处理,做法是在每一个字符的左右都加上一个特殊字符,比如加上#,那么 bob --> #b#o#b# noon --> #n#o#o#n# 这样做的好处是不论原字...
这是悦乐书的第195次更新,第201篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第57题(顺位题号是232)。使用栈实现队列的以下操作。 push(x) - 将元素x推送到队列的后面。 pop() - 从队列前面删除元素。 peek() - 获取前面的元素。 empty() - 返回队列是否为空。 例如: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); //返回1 queue.pop(); //返回1 queue.empty...
这是悦乐书的第193次更新,第198篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第54题(顺位题号是225)。使用队列实现栈的以下操作: push(x) - 将元素x推入栈。 pop() - 删除栈顶部的元素。 top() - 获取顶部元素。 empty() - 返回栈是否为空。 例如: MyStack stack = new MyStack(); stack.push(1); stack.push(2); stack.top(); //返回2 stack.pop(); //返回2 stack.empty(); //返回false ...
这是悦乐书的第189次更新,第191篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第48题(顺位题号是203)。移除单链表中节点值为val的节点。例如: 输入:1-> 2-> 6-> 3-> 4-> 5-> 6,val = 6 输出:1-> 2-> 3-> 4-> 5 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法 特殊情况:当给定的链表中的节点值与val全都相等时,此时需要返回空。 正常情...
104. Maximum Depth of Binary Tree 二叉树的最大深度 解题思路 深度优先搜索,将每一层的深度传给下一层,直到传到叶节点,将深度存入集合。最后取出集合中最大的数即为最大深度。/*** Definition for a binary tree node.* public class TreeNode {* public int val;* public TreeNode left;* public TreeNode right;* public TreeNode(int x) { val = x; }* }*/ public class Solution {public int MaxDepth(Tr...
这是悦乐书的第175次更新,第177篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第34题(顺位题号是136)。给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次。 找到那个只出现了一次的元素。例如:输入:[2,2,1] 输出:1输入:[4,1,2,1,2] 输出:4本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法 因为已经限定传入的数组不为空,所...
【470】Implement Rand10() Using Rand7() (2018年11月15日,新学的算法) 给了一个现成的api rand7(),这个接口能产生 [1,7] 区间的随机数。根据这个api,写一个 rand10() 的算法生成 [1, 10] 区间随机数。 题解:这个题《程序员代码面试指南》上讲了这题。我粗浅的描述一下产生过程: (1)rand7() 等概率的产生 1,2, 3, 4, 5, 6,7. (2)rand7()-1 等概率的产生 [0, 6] (3)(rand7() - 1) * 7 等概率的产生 0, 7, 14, 21...
题目描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果: [[3],[9,20],[15,7] ]