文章库ARTICLE COLUMN

  • [TODO]Iterator, foreach, generics and callback in

    [TODO]Iterator, foreach, generics and callback in

    It seems like a huge topic, so just divide it into small pieces and conquer them piece by piece, I have drawn a map for this article to guide me finish it instead of being scared by it. Iterator Conce...

    cheukyincheukyin 评论0 收藏0
  • 设计模式(5)装饰器模式(讲解+应用)

    设计模式(5)装饰器模式(讲解+应用)

    摘要:装饰器模式在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。通过使用装饰器模式,我们可以实现关闭原有代码,开放现有代码的方式来实现更多的功能。 目录 装饰器模式 为什么使用装饰器模式 应用实例 装饰器模式 看到装饰器是在看...

    RebeccaZhongRebeccaZhong 评论0 收藏0
  • [Leetcode] Basic Calculator 基本计算器

    [Leetcode] Basic Calculator 基本计算器

    摘要:难点在于多了括号后如何处理正负号。但是每多一个括号,都要记录下这个括号所属的正负号,而每当一个括号结束,我们还要知道出来以后所在的括号所属的正负号。 Basic Calculator I 最新更新请见: https://yanjia.li/zh/2019/01/... Implement a basi...

    ky0nchengky0ncheng 评论0 收藏0
  • 使代码更简洁(三) ----利用方法链为对象属性赋值

    使代码更简洁(三) ----利用方法链为对象属性赋值

    摘要:博客搬移到这里有个自己的博客还蛮好玩的,有一个有很多属性的类在为它的属性赋值时,通常有两种方式,使用构造函数和使用方法。可是使用构造函数有时会忘了各个字段的顺序,直接使用方法,又比较麻烦。 博客搬移到这里:http://yemengying.com/有个自...

    noONEnoONE 评论0 收藏0
  • [Leetcode] Expression Add Operators 添加运算符

    [Leetcode] Expression Add Operators 添加运算符

    摘要:问题在于如何将问题拆分成多次搜索。然而,乘法如何处理呢这里我们需要用一个变量记录乘法当前累乘的值,直到累乘完了,遇到下一个加号或减号再将其算入计算结果中。这样的计算结果就是。注意第一次搜索不添加运算符,只添加数字,就不会出现这种表达式...

    sumorysumory 评论0 收藏0
  • [Leetcode] Closest Binary Search Tree Value 最近二叉搜索

    [Leetcode] Closest Binary Search Tree Value 最近二叉搜索

    摘要:递归法复杂度时间空间思路根据二叉树的性质,我们知道当遍历到某个根节点时,最近的那个节点要么是在子树里面,要么就是根节点本身。因为我们知道离目标数最接近的数肯定在二叉搜索的路径上。 Closest Binary Search Tree Value I Given a non-empty ...

    AlphaWalletAlphaWallet 评论0 收藏0
  • [Leetcode] Shortest Palindrome 最短回文拼接法

    [Leetcode] Shortest Palindrome 最短回文拼接法

    摘要:第二个是,因为在第个位置,可以有最长为的相同前后缀,依次类推。匹配时分为几种情况字母相同,则和都加,且,因为后缀匹配的长度是前缀的长度加。注意为了方便处理空字符串,我们在反转拼接的时候中间加了,这个字符要保证不会出现在字符串中。 Shor...

    ChiclaimChiclaim 评论0 收藏0
  • 设计模式(6)命令模式(讲解+应用)

    设计模式(6)命令模式(讲解+应用)

    摘要:目录命令模式为什么使用命令模式命令模式应用实例命令模式命令模式在软件系统中,行为请求者与行为实现者通常呈现一种紧耦合。下篇更代理模式,侧重下其和委托形式的区别和实际应用。 目录 命令模式 为什么使用命令模式 命令模式应用实例 命令模式 ...

    3fuyu3fuyu 评论0 收藏0
  • [Leetcode] Remove Element 删除数组元素

    [Leetcode] Remove Element 删除数组元素

    摘要:只有不等于给定数字的数,才会被拷贝到子数组的边界上。代码只拷贝非给定数字的元素交换法复杂度时间空间思路因为题目中并不要求相对顺序保持一致,所以有进一步优化的空间。 Remove Element Given an array and a value, remove all instances of th...

    spacewanderspacewander 评论0 收藏0
  • [Leetcode] Pascal's Triangle 杨辉三角形

    [Leetcode] Pascal's Triangle 杨辉三角形

    摘要:迭代法复杂度时间空间思路简单的按照杨辉三角形的规则计算就行了。代码加入第一个加入中间的数加入最后一个逆序相加法复杂度时间空间思路同样用迭代的方法,根据上一层的值算下一层,不过这里每一层都在同一个上操作。 Pascal"s Triangle I Given num...

    BerwinBerwin 评论0 收藏0
  • [Leetcode] Factorial Trailing Zeroes 末尾零

    [Leetcode] Factorial Trailing Zeroes 末尾零

    摘要:迭代法复杂度时间空间思路技巧在于,每个数会产生一个。为什么呢试想,前个数中有一个一个,相乘有一个,后个数中有一个,又有一个。以此类推,每个数会有一个。代码阶乘中有多少,结果就有多少个 Factorial Trailing Zeroes Given an integer n, ret...

    qpwoeiru96qpwoeiru96 评论0 收藏0
  • [Leetcode] Remove Nth Node From End of List 移除倒数第N

    [Leetcode] Remove Nth Node From End of List 移除倒数第N

    摘要:先用快指针向前走步,这样快指针就领先慢指针步了,然后快慢指针一起走,当快指针到尽头时,慢指针就是倒数第个。注意因为有可能删除头节点,我们需要一个代码快指针先走步从开始慢指针和快指针一起走删除当前的下一个节点 Remove Nth Node From End o...

    mrcodemrcode 评论0 收藏0
  • [Leetcode] Compare Version Numbers 比较版本号

    [Leetcode] Compare Version Numbers 比较版本号

    摘要:注意因为方法输入的是一个正则表达式所以不能直接用,而是要用,而的要转义,所有要用代码按照进行分割比对相应的子串如果某个版本号更长,判断其多余部分是否是,如果不是,则较长的较大,否则是一样的。 Compare Version Numbers Compare two versi...

    FrozenMapFrozenMap 评论0 收藏0
  • 那些你一直没有搞明白的Java缓冲流细节!

    那些你一直没有搞明白的Java缓冲流细节!

    摘要:缓冲区中的数据保存直到缓冲区满后才写出,也可以使用方法将缓冲区中的数据强制写出或使用方法关闭流,关闭流之前,缓冲输出流将缓冲区数据一次性写出。实验一共个当设置数组长度为时没有输出,设置时有输出。 >>FileOutPutStream继承OutputStream,...

    lansheng228lansheng228 评论0 收藏0
  • [Leetcode] Palindrome Permutation 回文变换

    [Leetcode] Palindrome Permutation 回文变换

    摘要:最笨的方法就是用的解法,找出所有的,然后再用中判断回文的方法来判断结果中是否有回文。而中心对称点如果是字符,该字符会是奇数次,如果在两个字符之间,则所有字符都是出现偶数次。 Palindrome Permutation Given a string, determine if a permu...

    svttersvtter 评论0 收藏0
  • [Leetcode] Missing Ranges 缺失区间

    [Leetcode] Missing Ranges 缺失区间

    摘要:想象一下假设数组前有一段连续的负无穷到,数组后有一段到正无穷,这样是等价与上下界的。最后循环到停止,当下标为时,我们将当前指针指向,并判断和数组末尾是否能构成最后一个区间。 Missing Ranges Given a sorted integer array where the range...

    GilbertatGilbertat 评论0 收藏0
  • [Leetcode] Paint Fence 栅栏涂色

    [Leetcode] Paint Fence 栅栏涂色

    摘要:假设是第一根柱子及之前涂色的可能性数量,是第二根柱子及之前涂色的可能性数量,则。递推式有了,下面再讨论下情况,所有柱子中第一根涂色的方式有中,第二根涂色的方式则是,因为第二根柱子可以和第一根一样。 Paint Fence There is a fence with n...

    sixleavessixleaves 评论0 收藏0
  • [Leetcode] Longest Substring with At Most 2 Distin

    [Leetcode] Longest Substring with At Most 2 Distin

    摘要:最新思路解法哈希表法复杂度时间空间思路我们遍历字符串时用一个哈希表,但这个哈希表只记录两个东西,一个字母和它上次出现的时的下标,另一个字母和它上次出现时候的下标。这个通过用哈希表记录字母上次出现的下标,来维护一个窗口的方法也可以用于。...

    imcclimccl 评论0 收藏0
  • [Leetcode] Graph Valid Tree 图与树

    [Leetcode] Graph Valid Tree 图与树

    摘要:这样就将一个集合的节点归属到同一个集合号下了。最后如果并查集中只有一个集合,则说明可以构建树。 Graph Valid Tree Given n nodes labeled from 0 to n - 1 and a list of undirected edges (each edge is a pair of nodes), write a function to...

    luqiuwenluqiuwen 评论0 收藏0
  • [Leetcode] Flatten 2D Vector 整平二维向量

    [Leetcode] Flatten 2D Vector 整平二维向量

    摘要:另一个则是的迭代器,它负责记录当前到哪一个的迭代器了。每次时,我们先调用一下,确保当前的迭代器有下一个值。代码当前列表的迭代器为空,或者当前迭代器中没有下一个值时,需要更新为下一个迭代器 Flatten 2D Vector Implement an iterator to fl...

    MageekChiuMageekChiu 评论0 收藏0
  • [Leetcode] Encode and Decode Strings 字符串编解码

    [Leetcode] Encode and Decode Strings 字符串编解码

    摘要:记录长度法复杂度时间空间思路本题难点在于如何在合并后的字符串中,区分出原来的每一个子串。这里我采取的编码方式,是将每个子串的长度先赋在前面,然后用一个隔开长度和子串本身。这样我们先读出长度,就知道该读取多少个字符作为子串了。 Encode a...

    gselfgself 评论0 收藏0
  • [Leetcode] Inorder Successor in BST 二叉搜索树中序下一个

    [Leetcode] Inorder Successor in BST 二叉搜索树中序下一个

    摘要:所以我们要找的上面,实际上是从目标节点向根节点回溯时,第一个比目标节点大的节点。 Inorder Successor in BST Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Note: If the given node has ....

    marekmarek 评论0 收藏0
  • [Leetcode] Plus One 加一

    [Leetcode] Plus One 加一

    摘要:不过这里有个小技巧,因为我们只要加,所以不用完全模拟加法的所有规则一个数如果不是,那加以后不会对其他位产生影响。 Plus One Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored s...

    shmilyshmily 评论0 收藏0
  • [Leetcode] Read N Characters Given Read4 用Read4 AP

    [Leetcode] Read N Characters Given Read4 用Read4 AP

    摘要:临时数组法复杂度时间空间思路用一个临时数组,存放每次读到字符,再用一个指针标记数组目前存储到的位置,然后将这个临时数组的内容存到相应的位置就行了。 Read N Characters Given Read4 I The API: int read4(char *buf) reads 4 characters at a...

    wayneliwayneli 评论0 收藏0
  • [Leetcode] Fraction to Recurring Decimal 分数转为循环小数

    [Leetcode] Fraction to Recurring Decimal 分数转为循环小数

    摘要:最新解法及思路哈希表法复杂度时间空间思路整数部分很好处理,只要注意正负号的区分就行了,但是如何处理小数部分呢。这里我们可以用一个哈希表记录每次的余数,如果余数出现重复的时候,说明就产生循环了。 Fraction to Recurring Decimal 最新解法及...

    desdikdesdik 评论0 收藏0

热门文章

<