摘要: 要确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一的实例 最基础的一点,构造器私有化,否则可以任意通过构造器新建一个对象。但是仅仅如此不够,因为可以使用 AccessibleObject.setAccessible 方法通过反射调用私有构造器。如果要抵御这种攻击可以修改构造器,让它在被要求 阅读全文
posted @ 2020-12-19 20:08 PotatoTed 阅读(80) 评论(0) 推荐(0)
摘要: 使用 VMware Workstation 配置 Ubuntu 20.04 server VMware 中创建虚拟机 选择自定义虚拟机 硬件兼容性选 Workstation 16.x 就是我当前使用的 VMware Workstation 版本 操作系统选择稍后安装 选择虚拟机的操作系统版本 然后指 阅读全文
posted @ 2020-12-16 10:15 PotatoTed 阅读(527) 评论(0) 推荐(0)
摘要: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 阅读全文
posted @ 2020-11-22 10:57 PotatoTed 阅读(107) 评论(0) 推荐(0)
摘要: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 可以使用散列表来记 阅读全文
posted @ 2020-11-21 09:36 PotatoTed 阅读(82) 评论(0) 推荐(0)
摘要: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1 阅读全文
posted @ 2020-11-21 08:43 PotatoTed 阅读(77) 评论(0) 推荐(0)
摘要: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] graph TD 11((3)) 21((9)) 11((3)) 22((20)) 21((9)) 阅读全文
posted @ 2020-11-20 11:08 PotatoTed 阅读(82) 评论(0) 推荐(0)
摘要: 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 2: 输入: "()[]" 阅读全文
posted @ 2020-11-20 09:51 PotatoTed 阅读(90) 评论(0) 推荐(0)
摘要: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 两种解法,都用到了双指针 计算每个非零元素之前 0 的个数 阅读全文
posted @ 2020-11-20 09:47 PotatoTed 阅读(68) 评论(0) 推荐(0)
摘要: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 graph TD 1((1)) 21((2)) 1((1)) 22((2)) 21((2)) 31((3)) 21((2)) 32((4)) 22((2)) 33((4)) 22((2)) 34((3 阅读全文
posted @ 2020-11-20 09:43 PotatoTed 阅读(77) 评论(0) 推荐(0)
摘要: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0 阅读全文
posted @ 2020-11-20 09:34 PotatoTed 阅读(89) 评论(0) 推荐(0)