文章库ARTICLE COLUMN

  • Java HashMap 源码解析

    Java HashMap 源码解析

    摘要:所以利用哈希表这种数据结构实现具体类时,需要设计个好的函数,使冲突尽可能的减少其次是需要解决发生冲突后如何处理。源码剖析首先从构造函数开始讲,遵循集合框架的约束,提供了一个参数为空的构造函数与有一个参数且参数类型为的构造函数。 本文章...

    AklmanAklman 评论0 收藏0
  • [Leetcode] Rotate Array 旋转数组

    [Leetcode] Rotate Array 旋转数组

    摘要:反转法复杂度时间空间思路通过三次反转,我们可以很巧妙的实现旋转数组。首先我们将整个数组反转,然后将前个数字反转,然后再将后面剩下的数字反转,就得到目标数组了。而左旋时,我们是将其后个多带带反转,然后前面的多带带反转。 Rotate Array Ro...

    alightersalighters 评论0 收藏0
  • Leetcode-Two Sum

    Leetcode-Two Sum

    Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, where ...

    woshicixidewoshicixide 评论0 收藏0
  • [Leetcode] Rectangle Area 矩形面积

    [Leetcode] Rectangle Area 矩形面积

    摘要:数学法复杂度时间空间思路基本的数学题,考察的是我们能否全面的考虑到所有可能。如果两个矩形没有重叠部分,则直接计算两个矩形面积之和就行了。因为两个矩形的坐标都可能比对方小,所以我们一共有四种可能情况是不重叠的。 Rectangle Area Find the...

    Cheng_GangCheng_Gang 评论0 收藏0
  • [Leetcode] Implement strStr() 实现StrStr

    [Leetcode] Implement strStr() 实现StrStr

    摘要:最新更新暴力法复杂度时间空间思路本题有很多高级算法可以在时间内解决问题,然而这已经超出面试的范畴。本题在面试中出现的作用就是考察基本的编程素养,以及边界条件的考虑。它使用一个数组,这个数组记录了模式串自身的前缀和后缀的重复情况。 Impl...

    remcarpediemremcarpediem 评论0 收藏0
  • [Leetcode] Minimum Window Substring 最小字符串窗口

    [Leetcode] Minimum Window Substring 最小字符串窗口

    摘要:双指针法复杂度时间空间思路用一个哈希表记录目标字符串每个字母的个数,一个哈希表记录窗口中每个字母的个数。先找到第一个有效的窗口,用两个指针标出它的上界和下界。 Minimum Window Substring Given a string S and a string T, find the minimu...

    YuanfYuanf 评论0 收藏0
  • [Leetcode] Add Binary 二进制相加

    [Leetcode] Add Binary 二进制相加

    摘要:模拟加法复杂度时间空间思路模拟加法的运算法则,从最低位加到最高位。记得使用来减少字符串操作的开销。代码后续如果不是二进制相加,而是十六进制相加呢只要把算法中的除和余换成,并添加相应的十六进制字母就行了。 Add Binary Given two binary s...

    lk20150415lk20150415 评论0 收藏0
  • [Leetcode] Climbing Stairs 爬楼梯

    [Leetcode] Climbing Stairs 爬楼梯

    摘要:递归法复杂度时间空间思路这题几乎就是求解斐波那契数列。最简单的方法就是递归。但重复计算时间复杂度高。代码递推法复杂度时间空间思路实际上我们求的时候只需要和的值,所以可以减少一些空间啊。 Climbing Stairs You are climbing a stair case. ...

    tinyqtinyq 评论0 收藏0
  • [Leetcode] Merge Sorted Array 合并数组

    [Leetcode] Merge Sorted Array 合并数组

    摘要:但是如果我们从后往前,合并到第一个数组的最后,则不用位移。注意将和都先减,用和来代表下标,避免两个数组为空时抛出空指针异常。 Merge Sorted Array 最新更新请见:https://yanjia.me/zh/2019/02/... Given two sorted integer arrays nums1 and...

    quietinquietin 评论0 收藏0
  • LinkedList源码浅析

    LinkedList源码浅析

    摘要:重要方法在链尾添加元素除了这个方法以外,还提供了等一些方法,都是为实现和方法服务的,因为双向链表的原因,这些实现都很简单。 类声明 LinkedList类声明如下: public class LinkedList extends AbstractSequentialList implements List, ...

    DC_erDC_er 评论0 收藏0
  • [Leetcode] Lowest Common Ancestor of a Binary Tree

    [Leetcode] Lowest Common Ancestor of a Binary Tree

    摘要:如果子树中有目标节点,标记为那个目标节点,如果没有,标记为。显然,如果左子树右子树都有标记,说明就已经找到最小公共祖先了。如果在根节点为的左右子树中找的公共祖先,则必定是本身。只有一个节点正好左子树有,右子树也有的时候,才是最小公共祖...

    Dr_NooooDr_Noooo 评论0 收藏0
  • [Leetcode] Binary Tree Right Side View 二叉树右视图

    [Leetcode] Binary Tree Right Side View 二叉树右视图

    摘要:代码层序遍历复杂度时间空间对于二叉树思路我们同样可以借用层序遍历的思路,只要每次把这一层的最后一个元素取出来就行了,具体代码参见中的 Binary Tree Right Side View Given a binary tree, imagine yourself standing on the right side of it,...

    hearawayhearaway 评论0 收藏0
  • [Leetcode] Binary Tree Traversal 二叉树遍历

    [Leetcode] Binary Tree Traversal 二叉树遍历

    摘要:栈迭代复杂度时间空间递归栈空间对于二叉树思路用迭代法做深度优先搜索的技巧就是使用一个显式声明的存储遍历到节点,替代递归中的进程栈,实际上空间复杂度还是一样的。对于先序遍历,我们出栈顶节点,记录它的值,然后将它的左右子节点入栈,以此类推...

    RaoMengRaoMeng 评论0 收藏0
  • [Leetcode] Path Sum I & II & III 路径和1,2,3

    [Leetcode] Path Sum I & II & III 路径和1,2,3

    摘要:只要我们能够有一个以某一中间路径和为的哈希表,就可以随时判断某一节点能否和之前路径相加成为目标值。 最新更新请见:https://yanjia.me/zh/2019/01/... Path Sum I Given a binary tree and a sum, determine if the tree has a root-to-leaf pat...

    caiyongjicaiyongji 评论0 收藏0
  • [Leetcode] Binary Tree Maximum Path Sum 二叉树最大路径和

    [Leetcode] Binary Tree Maximum Path Sum 二叉树最大路径和

    摘要:栈迭代复杂度时间空间递归栈空间对于二叉树思路首先我们分析一下对于指定某个节点为根时,最大的路径和有可能是哪些情况。代码连接父节点的最大路径是一二四这三种情况的最大值当前节点的最大路径是一二三四这四种情况的最大值用当前最大来更新全局最大...

    魏宪会魏宪会 评论0 收藏0
  • BlockingQueue学习

    BlockingQueue学习

    摘要:引言在包中,很好的解决了在多线程中,如何高效安全传输数据的问题。同时,也用于自带线程池的缓冲队列中,了解也有助于理解线程池的工作模型。 引言 在java.util.Concurrent包中,BlockingQueue很好的解决了在多线程中,如何高效安全传输数据的问...

    xuhongxuhong 评论0 收藏0
  • jdk7中HashMap知识点整理

    jdk7中HashMap知识点整理

    摘要:再最坏的情况下,链表查找的时间复杂度为而红黑树一直是这样会提高的效率。中的中定义了一个变量,当节点个数时,将采用红黑树存储参考资料和的区别和的区别 HashMap中的几个重要变量 默认初始容量,必须是2的n次方 static final int DEFAULT_INITIAL_...

    AJieAJie 评论0 收藏0
  • [Leetcode] Copy List with Random Pointer 复制随机指针

    [Leetcode] Copy List with Random Pointer 复制随机指针

    摘要:栈迭代复杂度时间空间如果不算新链表的空间则是思路由于随机指针有可能产生环路,我们不能直接沿着随机指针的方向一个一个复制。同时我们又不能沿着指针直接复制,因为我们不知道随机指针所指向的新节点是哪个。 Copy List with Random Pointer A lin...

    OliviaOlivia 评论0 收藏0
  • Java方法参数

    Java方法参数

    摘要:方法结束后,参数不再使用了,但是仍然指向那个已经被提高了工资的对象。总结中方法参数的使用情况一个方法不能修改一个基本数据类型的参数。一个方法可以改变一个对象参数的状态。 最近在看《java核心技术卷1》,看到4.5章节的时候解决了以前一直有些...

    ASCHASCH 评论0 收藏0
  • [Leetcode] Word Search 单词搜索

    [Leetcode] Word Search 单词搜索

    摘要:我们可以先用待查单词建立一个字典树,这样我们在从矩阵中某个点开始深度优先搜索时,可以直接用字典树判断当前组成的字符串是否是某个单词的前缀。字典树同样也提供接口,所以同样可以用于判断是否已经搜索到这个词了。 Word Search I 更新的思路与解...

    objc94objc94 评论0 收藏0
  • [Leetcode] Sqrt 开方

    [Leetcode] Sqrt 开方

    摘要:二分搜索复杂度时间因为整数长度有限空间思路我们知道必定存在这么两个整数和,所以我们要做的其实就是缩小这个的范围。代码牛顿迭代法复杂度时间空间思路更好的解法是用数学方法,牛顿法是非常经典的求解方程的方法。 Sqrt Implement int sqrt(int x...

    BlackFlagBinBlackFlagBin 评论0 收藏0
  • finally与return之间的关系

    finally与return之间的关系

    摘要:则会在转移指令前执行。总结与之间的关系如果在中含有语句,那么语句的还有作用吗先看一段代码如果你对内存布局不是很清楚,请看这篇文章虚拟机类加载机制和字节码执行引擎重点关注运行时栈帧结构局部变量表槽,操作数栈。 定论 问:finally语句一定会...

    YuanfYuanf 评论0 收藏0
  • [Leetcode] Word Ladder 单词爬梯

    [Leetcode] Word Ladder 单词爬梯

    摘要:另外,为了避免产生环路和重复计算,我们找到一个存在于字典的新的词时,就要把它从字典中移去。代码用来记录跳数控制来确保一次循环只计算同一层的节点,有点像二叉树遍历循环这个词从第一位字母到最后一位字母循环这一位被替换成个其他字母的情况 Wo...

    pineconepinecone 评论0 收藏0
  • [Leetcode] Word Break 单词分解

    [Leetcode] Word Break 单词分解

    摘要:所以只要验证满足这个条件,我们则可以确定这个较长的字符串也是可分解的。同时,我们用数组记录下字符串长度递增时可分解的情况,以供之后使用,避免重复计算。当遍历完这个词典并找出所有以第一个字母开头的词以后,我们进入下一轮搜索。 Word Break...

    VervericaVerverica 评论0 收藏0
  • [Lintcode]  Find Peak Element 找峰值

    [Lintcode] Find Peak Element 找峰值

    摘要:找出该矩阵的一个峰值元素,返回他的坐标原题链接一维二分搜索复杂度时间空间思路最直观的方法是遍历整个矩阵,但这要的时间。 Find Peak Element I A peak element is an element that is greater than its neighbors. Given an input array where n...

    leiyileiyi 评论0 收藏0

热门文章

<