leetcode508. Most Frequent Subtree Sum

2019-11-14
阅读 2 分钟
1.6k
Given the root of a tree, you are asked to find the most frequent subtree sum. The subtree sum of a node is defined as the sum of all the node values formed by the subtree rooted at that node (including the node itself). So what is the most frequent subtree sum value? If there is a tie, return al...

leetcode506. Relative Ranks

2019-11-12
阅读 3 分钟
1.7k
Given scores ofNathletes, find their relative ranks and the people with the top three highest scores, who will be awarded medals: "Gold Medal", "Silver Medal" and "Bronze Medal".

猫头鹰的深夜翻译:日志--每个开发者需要了解的实时数据聚合

2019-11-10
阅读 8 分钟
2k
我在大约六年前的一个较为巧合的时机加入了领英。当时我们正面临着单机应用,集中式数据库带来的挑战,并开始将其迁移成一组定制的分布式系统。这是一段很有趣的经历:我们构建,编译并运行了一套分布式图形数据库,一个分布式的搜索后台应用,一套Hadoop和一代与二代键值数据库。

leetcode452. Minimum Number of Arrows to Burst Balloons

2019-11-08
阅读 2 分钟
1.6k
There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided input is the start and end coordinates of the horizontal diameter. Since it's horizontal, y-coordinates don't matter and hence the x-coordinates of start and end of the diameter suffice. Start is ...

猫头鹰的深夜翻译:开发者必须了解的分支发布模型

2019-11-08
阅读 5 分钟
2.6k
想要深入了解Git和中心化代码版本管理系统的优缺点比较,可以在网上自行查询,这个话题一直争论不休。作为一个开发者,我更倾向于使用Git。Git确实改变了开发者对代码合并和分支管理的认识。作为一个使用过传统的CVS工具的人,合并/开分支是一个比较恐怖的行为,迫不得已才执行一次。

leetcode421. Maximum XOR of Two Numbers in an Array

2019-11-06
阅读 5 分钟
1.7k
Given a non-empty array of numbers, a0, a1, a2, … , an-1, where 0 ≤ ai< 231.

初探Logback:学会看懂Logback配置文件

2019-11-03
阅读 8 分钟
8.5k
在现如今的应用中,日志已经成为了一个非常重要的工具。通过系统打印的日志,可以监测系统的运行情况,排查系统错误的原因。日志从最早期的System.out.print到如今各种成熟的框架,使得日志打印更加规范化和清晰化。尤其是SLF4J的出现,为日志框架定义了通用的FACADE接口和能力。只需要在应用中引入SLF4J包和具体实现该F...

leetcode472. Concatenated Words

2019-11-01
阅读 3 分钟
2.5k
Given a list of words (without duplicates), please write a program that returns all concatenated words in the given list of words.A concatenated word is defined as a string that is comprised entirely of at least two shorter words in the given array.

leetcode501. Find Mode in Binary Search Tree

2019-10-31
阅读 2 分钟
1.7k
Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST.

leetcode473. Matchsticks to Square

2019-10-30
阅读 3 分钟
1.4k
Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match girl has, please find out a way you can make one square by using up all those matchsticks. You should not break any stick, but you can link them up, and each matchstick must be used exactly one time.

leetcode493. Reverse Pairs

2019-10-29
阅读 3 分钟
1.9k
Given an array nums , we call(i, j)an important reverse pair if i < j andnums[i] > 2*nums[j].

leetcode454. 4Sum II

2019-10-23
阅读 2 分钟
1.3k
采用一些归并排序的思路,假如我们将A,B中所有数字排列组合能够构成的结果计算出来,再将C,D中所有数字的排列组合结果计算出来,则只需要针对AB中的值找到CD中是否有对应的负数存在即可。这里除了要记录数组元素的和,还要记录该求和出现了几次。代码如下:

leetcode446. Arithmetic Slices II - Subsequence

2019-10-15
阅读 3 分钟
1.9k
从一个无序的整数数组中,找到所有等差子数列的数量。这里需要注意,等差子数列要求从原数组中找出Pk个下标的元素,其中P0 < P1 < P2... < Pk,且满足A[P1]-A[P0] = A[P2] - A[P1] ... = A[Pk]-A[Pk-1]。

深入探寻JAVA8 part2:浅谈几个内置的函数式接口

2019-10-15
阅读 4 分钟
2.6k
前情提要 深入探寻JAVA8 part1:函数式编程与Lambda表达式 看此文前,不熟悉函数式编程和Lambda表达式的可以先看一下上文回忆一下。 本文将会简单介绍Java8中内置的一些函数式接口 回顾函数式接口 函数式接口就是只定义一个抽象方法的接口。在JAVA8以前,就有很多符合函数式接口定义的接口。 {代码...} 因为JAVA8中还引...

leetcode491. Increasing Subsequences

2019-10-14
阅读 2 分钟
1.8k
这里采用深度优先的思路进行解决。先将数组按照从小到大排序,再从左往右遍历数组,每个数字有两种可能,分别是选中到子数组,或者不选中。将所有的结果收纳即可获得最终的结果集。

leetcode352. Data Stream as Disjoint Intervals

2019-10-12
阅读 4 分钟
2k
这里面提到了一个disjoint interval的概念,它是指不相交的区间。如果新来的数据与当前的区间集产生了重合,则需要将当前的区间集进行合并。从而确保每次得到的数据集都是不相交的。

leetcode479. Largest Palindrome Product

2019-10-11
阅读 1 分钟
1.6k
函数传入整数n,要求计算出由n位数相乘得出的最大回数时多少。比如n=2时,由两位数相乘得出的最大回数为9009=99*91,因为可能回数过长,超过int的范围,所以讲结果对1337求余后返回。

leetcode478. Generate Random Point in a Circle

2019-10-09
阅读 4 分钟
2.2k
假设现在已知圆的圆心的x和y坐标,以及该圆的半径radius。要求写一个随机点生成器,要求该生成器生成的点必须在圆内,且每一个点被生成的概率为相等的。规定圆周上的点也属于圆内。

leetcode481. Magical String

2019-10-08
阅读 2 分钟
1.6k
这题是描述了一个魔法字符串,该字符串完全由数字1和2构成。这个字符串的魔法点在于,如果将该该字符串连续的数字数量进行统计并且构成一个新的字符串,会发现新的字符串与原来的字符串完全相同。比如1 22 11 2 1 22 1 22 11 2 11 22字符串,经过统计后发现有1个1,2个2,2个1,1个2,1个1,2个2,1个1,2个2,2个1,1个...

深入探寻JAVA8 part1:函数式编程与Lambda表达式

2019-10-07
阅读 6 分钟
2.7k
在很久之前粗略的看了一遍《Java8 实战》。客观的来,说这是一本写的非常好的书,它由浅入深的讲解了JAVA8的新特性以及这些新特性所解决的问题。最近重新拾起这本书并且对书中的内容进行深入的挖掘和沉淀。接下来的一段时间将会结合这本书,以及我自己阅读JDK8源码的心路历程,来深入的分析JAVA8是如何支持这么多新的特...

leetcode477. Total Hamming Distance

2019-10-06
阅读 2 分钟
1.7k
计算N个数字之间的汉明码距离之和。汉明码是指两个数字的二进制表示形式中,在对应位置上值不同的数量总和。如2和4,4的二进制表达式为100, 2的二进制表达式010,则二者在第二位和第三位的值不同,因此汉明码值为2。

leetcode467. Unique Substrings in Wraparound String

2019-10-05
阅读 2 分钟
1.7k
已知s是由一系列有序的从a-z的字母循环构成的字符串,因此可知,任何一个在s中循环出现的字符串,一定是遵循a-z-a这样的一个顺序规律的。因此,假如在p中相邻两个字符并非连续的,则这两个字符一定不会是循环出现。如cac这个例子,因为ca和ac并非连续,因此这两个字母一定不会构成循环子字符串。

leetcode407. Trapping Rain Water II

2019-10-02
阅读 4 分钟
1.7k
神仙题。能够想出来用优先队列和广度优先遍历结合的都是大佬。希望所有看到这道题目的可以在文章回复里面分享一下写这题的思路。在下面我就粘贴一下根据油管上的思路写成的JAVA解答。

leetcode474. Ones and Zeroes

2019-10-02
阅读 2 分钟
1.7k
先是用深度优先遍历的思想进行了实现,结果很明显是超时了。接着采用动态规划的思想,其实这题就是背包问题的一个演化。假设已知道m个0和n个1能够从数组中前i个元素最多拼成多少个元素,则m个0和n个1能够从数组中前i+1个元素能够拼成最多的元素个数有如下两个场景:

leetcode435. Non-overlapping Intervals

2019-09-30
阅读 2 分钟
1.8k
使用二维数组表示区间组,每一个子数组的第一个值表示区间的开始坐标,第二个值表示区间的结束坐标。计算最少进行多少次删除操作,可以确保剩下的区间不会产生任何重叠。

leetcode468. Validate IP Address

2019-09-29
阅读 4 分钟
1.2k
校验该字符串是IPV4地址还是IPV6地址还是二者都不是。IPV4地址通过小数点分割为4个部分,每个部分都是0~255之间的正整数,且不能包含开头的0,如013IPV6地址通过冒号分割为8个部分,允许以0作为开头,但是每个部分不能用空代替0。

Mockito入门:如何在Spring中Mock部分对象

2019-09-29
阅读 5 分钟
15.4k
随着分布式应用的开发逐渐成为标配,多个微服务团队合作来完成垂直业务的开发成为了一种常态。微服务使得团队可以专注于自己的业务逻辑,在和下游依赖和上游对接的团队聚焦好接口之后,就进入正式的开发。但是,每个团队的开发节奏往往不同,下游依赖所提供的服务有些时候不能在自测的时候提供稳定的服务。不仅是多个团...

leetcode463. Island Perimeter

2019-08-10
阅读 2 分钟
1.6k
用一个二维数组来表示一块岛屿的土地情况,其中1代表土地,0代表海洋。要求计算出岛屿的周长。题目中特别强调了不存在内陆湖的存在,其实是变相的降低了题目的难度。即我们只要看到1和0相邻,就可以判断出到了岛的边缘。

leetcode486. Predict the Winner

2019-08-10
阅读 2 分钟
1.5k
看到这种题目的时候,会直观的想到,如果我能够暴力的遍历出玩家1和玩家2之间所有的取数字的方式,就一定可以算出玩家1是否能够取胜。但是,往往会有可以优化的空间。假设我们用diffi来记录子数组i~j之间,第一个取数字的玩家和第二个取数字的玩家之间最大的差距。则 diffi = Math.max(nums[i]-diffi+1, nums[j+1]-diffi...

leetcode442. Find All Duplicates in an Array

2019-07-02
阅读 2 分钟
1.9k
存在一个整数数组,其中的所有元素都位于1~n之间,其中n是数组的长度。有的元素出现了一次,而有的元素出现了两次。找到数组中所有出现两次的数字。