git常用命令(持续更新)

1、回退工作区中文件部分代码 git checkout -p2、stash部分代码 git stash -p git reset --hard git stash pop 或者: git stash -p git stash drop3、查看最近的结点操作,即使已经被reset掉 git reflog 配合git reset --ha...
阅读(45) 评论(0)

Populating Next Right Pointers in Each Node

Given a binary treestruct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }Populate each next pointer to point to its next right node. If there is no ...
阅读(51) 评论(0)

Valid Square

题目描述:Given the coordinates of four points in 2D space, return whether the four points could construct a square.The coordinate (x,y) of a point is represented by an integer array with two integers.Exam...
阅读(46) 评论(0)

Minimum Moves to Equal Array Elements II

题目描述:Given a non-empty integer array, find the minimum number of moves required to make all array elements equal, where a move is incrementing a selected element by 1 or decrementing a selected elemen...
阅读(65) 评论(0)

Maximum Product of Word Lengths

题目描述:Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the two words do not share common letters. You may assume that each word will contain only lower case...
阅读(45) 评论(0)

Two Sum IV - Input is a BST

题目描述:Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target.Example 1:Input: 5 / \ 3 6 / \ \...
阅读(49) 评论(0)

Minimum Depth of Binary Tree

题目描述:Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.分析:题目让求的是从根节点到叶子节点的最"矮"树高度,可采用递归。递归计算...
阅读(42) 评论(0)

Subsets

题目描述:Given a set of distinct integers, nums, return all possible subsets (the power set).Note: The solution set must not contain duplicate subsets.For example,If nums = [1,2,3], a solution is:[ [3],...
阅读(48) 评论(0)

职责链模式(Chain of Responsibility Pattern)

所有一切链式的、分步完成的、"传递性"的都可以想到用职责链模式。其实现方式的关键类似于链表的结构。职责链由一些职责结点组成,每个结点能够将任务传递给下一个结点。最后每个结点都遍历且执行了该结点规定执行的任务。举个例子:类图:关键是RequestHandler的实现。代码:/** * * RequestHandler * */ public abstract class RequestHa...
阅读(104) 评论(0)

模板方法模式(Template Method Pattern)

模板方法模式是定义一个算法的骨架,将算法的实现延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。在这个例子中,算法骨架是StealingMethod,然后定义了两个算法的具体实现类:SubtleMethod和HitAndRunMethod。算法调用者为Halfling Thief,调用者只关心StealingMethod,而具体的算法实现由具体的场景来具体指定。类...
阅读(127) 评论(0)

读者容错模式(Tolerant Reader Pattern)

读者容错模式是当从一个数据模型中读取数据的时候,无论这个数据模型如何变换,尽最大可能读取自己需要的数据,达到读取数据健壮性的要求。例如我们有一个数据模型类:RainbowFish,表示一种鱼。有一个读写数据的类:RainbowFishSerializer,来获取RainbowFish的name、age、lengthMeters、weightTons等数据。但是RainbowFish是第三方提供,可...
阅读(126) 评论(0)

Flux Pattern

Flux是Facebook提出的一种新的架构模式。一个Flux架构一般分为4个部分:View:视图层(界面)Action:视图层发出的消息或事件,如点击按钮Dispatcher:派发器,用来接受Actions、执行回调函数Store:数据层,用来存放应用状态,一旦发生变动,就要通知Views更新界面执行流程 用户操作(访问)ViewView发出用户的Action给DispatcherDispatc...
阅读(104) 评论(0)

转换器(Converter)模式

在日常编码中,我们会遇到这样一个场景:把一个类型的对象转换成另一个对象,而这两者之前的转换强调的是"值(Value)"的等价转换,两者之间并没有继承与被继承的关系,也并不是像浮点数转整数这种语法意义上的转换关系。如下面举的这个例子:"用户"这个对象定义了User和UserDto两种Bean class来表示,二者所代表的"值"都是一致的,只是一个是业务逻辑层面的,一个是数据访问层面的。二者之前常常...
阅读(157) 评论(0)

事件分发(EventDispatcher)模式

该模式实际上是监听模式的一种扩展。由事件(Event)驱动,每当有事件产生的时候,由事件分发器分发给特定的事件处理器处理该事件。类图:核心类:EventDispatcher——事件分发中心,每个来的事件都由该类分发到特定的处理者                Event——事件接口,不同的事件类型都要实现该接口                Handler——处理器接口,不同的处理器都要实现改接口...
阅读(147) 评论(0)

execute around 模式

在写代码的时候,常常会遇到这样的情况:每次在执行一段代码的时候,都需要先执行一些代码;执行完之后,再执行另一些代码。比如在读写文件的时候,我们真正care的逻辑是"读写",至于文件流的初始化、打开、关闭、异常处理等都不是我们关心的。但是,每次在"读写"之前,我们需要执行打开操作,"读写"之后,需要执行关闭操作。这个时候就可以使用"execute around 模式"来提炼出"读写"前后的公共代码,...
阅读(113) 评论(0)
167条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:414470次
    • 积分:3933
    • 等级:
    • 排名:第8839名
    • 原创:90篇
    • 转载:71篇
    • 译文:6篇
    • 评论:85条
    最新评论