最新文章

[Leetcode] 1379. 找出克隆二叉树中的相同节点

描述给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。其中,克隆树 cloned 是原始树 original 的一个 副本 。请找出在树 cloned 中,与 target 相同 的节点,并返回对该节点的引用(在 C/C++ 等有指针的语言中返回 节点指针,其他语言返回节点本身)。 注意:你 不能 对两棵二叉树,以及
2020-03-16 / 0 comments

[Leetcode] 面试题 08.09. 括号

描述括号。设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。说明:解集不能包含重复的子集。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]Solutionclass Solution
2020-03-16 / 0 comments

[Leetcode] 1266. 访问所有点的最小时间

描述平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。你可以按照下面的规则在平面上移动:每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。必须按照数组中出现的顺序来访问这些点。 示例 1:输入:points = [[1,1],[3,4],[-1,0]
2020-03-15 / 0 comments

[Leetcode] 面试题 16.01. 交换数字

描述编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值。示例:输入: numbers = [1,2]输出: [2,1]提示:numbers.length == 2Solution One简单的加法交换class Solution { public int[] swapNumbers(int[] numbers) { numbers[0] += nu
2020-03-15 / 0 comments

[Leetcode] 1290. 二进制链表转整数

描述给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。 示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,
2020-03-14 / 0 comments

[Leetcode] 535. TinyURL 的加密与解密

描述TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk.要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加
2020-03-13 / 0 comments

[Leetcode] 169. 多数元素

描述给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2Solution OneHashMap计数器class Solution { public int majorityElemen
2020-03-13 / 0 comments

[Leetcode] 1108. IP 地址无效化

描述给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 "."。 示例 1:输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"示例 2:输入:address = "255.100.50.0&
2020-03-13 / 0 comments

[Leetcode] 771. 宝石与石头

描述给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"
2020-03-13 / 0 comments

[Leetcode] 1295. 统计位数为偶数的数字

描述给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数)  2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 是 4 位数字(位数为偶数)  因此只有 12 和 7896 是位数为偶数的数字示例 2:输入:
2020-03-12 / 0 comments

[Leetcode] LCP 1. 猜数字

描述小A和小B在玩猜数字。小B每次从1,2,3中随机选择一个,小A每次也从1,2,3中选择一个猜。他们一共进行三次这个游戏,请返回小A猜对了几次?输入的guess数组为小A每次的猜测,answer数组
2020-03-12 / 0 comments

[Leetcode] 1281. 整数的各位积和之差

描述给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例1:输入:n=234输出:15解释:各位数之积=2*3*4=24各位数之和=2+3+4=9结果=24-9=1
2020-03-12 / 0 comments

[Leetcode] 1313. 解压缩编码列表

描述给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素freq,val]=[nums[2*i],nums[2*i+1]] (其中 i>=0 ),每一对都表示解压后子列表中有
2020-03-12 / 0 comments

[Leetcode] 1342. 将数字变成 0 的操作次数

描述给你一个非负整数 num ,请你返回将它变成0所需要的步数。如果当前数字是偶数,你需要把它除以2;否则,减去1。示例1:输入:num=14输出:6解释:步骤1)14是偶数,除以2得到7。步骤2)7
2020-03-12 / 0 comments

[Leetcode] 1365. 有多少小于当前数字的数字

描述给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中j满足 j!=i且nums[
2020-03-12 / 0 comments

[Leetcode] II. 左旋转字符串

描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1:输入: s = "abcdefg", k = 2输出: "cdefgab"示例 2:输入: s = &
2020-03-12 / 0 comments

[Leetcode] 求1+2+…+n

问题求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000Solution one利用递归和 && 短路运算符让每次递归命中递归函数,并用短路控制执行边界。class S
2020-03-11 / 0 comments

A Plus B

DescriptionWrite a function that add two numbers A and B.ClarificationAre a and b both 32-bit integers?Yes.Can I use bit operation?Sure you can.ChallengeOf course you can just return a + b to get acce
2020-01-08 / 0 comments

深入理解Java的String

  Java的字符串就是Unicode字符序列,Java并没有内置字符串类型,而是在Java库中提供了预定义类String,每个用双引号扩起来的字符串都是String类的一个实例。String的成员属性public final class String implements java.io.Serializable, Comparable<String>, CharSequenc
2019-11-01 / 0 comments

Java的运算符

  在日常开发中位运算符可能使用的不多,但是在JDK或是Spring的源码中经常会发现这些优质开源的产品会经常使用。下面来简单回顾一下Java的运算符。算数运算符+、-、 *、 /、 % 加、减、乘、除、取模关系运算符<、>、<=、>=、==、!=小于、 大于、 小于等于、 大于等于、 等于、 不等于逻辑运算符&&、||、!、逻辑与、逻辑或、取反、位运算符 
2019-10-30 / 0 comments