给定一个可包含重复数字的序列,返回所有不重复的全排列 这题与上题的全排列问题类似,问题在于如何将重复序列排除在外。 这里就需要剪枝思想,即去掉多余的子树。 我们先看图,令nums=[1,1`,2] 图中可以看出,[1 ]节点选择子节点时与[1]节点选择时一致,故应该去除。类推。 再看如何判断剪枝: Read More
posted @ 2020-04-30 12:50 梧桐更兼细雨_到黄昏 Views(447) Comments(0) Diggs(0)
问题:给定一个 没有重复 数字的序列,返回其所有可能的全排列 全排列问题实际可以看作是树形结构 而dfs算法在树形结构中的应用就是回溯算法。 接下来详细解释回溯算法的思想: 如图所示:在本题中,树形结构的根节点为空,根节点的第一个子节点通过遍历找到[1],继续遍历找到[1]的子节点[2],[2]的子 Read More
posted @ 2020-04-30 10:50 梧桐更兼细雨_到黄昏 Views(807) Comments(0) Diggs(0)
有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。 游戏从「一号」玩家开始(「一号」玩家为红色,「二号」玩家为蓝色),最开始时, 「一号」玩家从 [1, n] 中取一个值 x(1 获 Read More
posted @ 2020-04-27 22:28 梧桐更兼细雨_到黄昏 Views(860) Comments(0) Diggs(0)
问题:给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 在此题中,我们使用一个新的链表list存储headA,然后将B的引用和list的引用对 Read More
posted @ 2020-04-27 20:14 梧桐更兼细雨_到黄昏 Views(158) Comments(0) Diggs(0)
问题:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。 如何将整数中的每位数取出呢? 进行循环模运算,判断条件为整数x 0。但由于题目条件为有符号整数,故将判断条件修改为x Read More
posted @ 2020-04-27 18:27 梧桐更兼细雨_到黄昏 Views(500) Comments(0) Diggs(0)
1.String: ​ 是对象不是原始类型. ​ 为不可变对象,一旦被创建,就不能修改它的值. ​ 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. ​ String 是final类,是不能被继承的。 2.StringBuffer: ​ 是一个可变对象,对他进行修 Read More
posted @ 2019-10-15 22:29 梧桐更兼细雨_到黄昏 Views(507) Comments(0) Diggs(0)
equals与hashCode的区别 1.类中的equals方法是一定要重写/覆盖(Override)的,因为要让它按照设计的需求来根据特征值判断等价性。 这里的特征值,就是String类型的name属性,表示每个Person对象的名字。由于在equals方法中只设定了这一个需要比较的特征值,因此只 Read More
posted @ 2019-10-10 22:21 梧桐更兼细雨_到黄昏 Views(231) Comments(0) Diggs(0)
第一步 编译器查看对象的声明类型和方法名。 假设调用的是x.f(param),x为C类隐式参数对象。编译器会一一列举C类中所有名为f的方法和其超类中访问属性为public且名为f的方法。(超类的私有方法不可访问) 其中的this.salary为隐式参数,即出现在方法名前的类对象。byPercent为 Read More
posted @ 2019-09-27 23:06 梧桐更兼细雨_到黄昏 Views(113) Comments(0) Diggs(0)