
算法
嗡汤圆
这个作者很懒,什么都没留下…
展开
-
[LeetCode] java的排列与组合C(m,n)、A(m,n)
考题出处: 子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 输入: nums = [1,2,3] 输出:[[3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]分析首先 过滤掉重复元素 , 然后从 0 ~ array.length 之间找到所有组合即...原创 2018-07-30 08:58:01 · 2136 阅读 · 0 评论 -
[LeetCode] 列表找唯一(元素或者序号)
出处 只出现一次的数字 字符串中的第一个唯一字符分析关于找唯一,简单使用二重循环会出现超时问题,只能使用别的方式。简单版 建立一个相同长度的数组,标记每个元素是否曾经出现过,如果是标记为true,否则为false。之后遍历这个数组,如果出现false,返回即可。class Solution { public int firstUniqChar(St...原创 2018-07-31 11:19:12 · 492 阅读 · 0 评论 -
[LeetCode] 二叉搜索树判定
出处 验证二叉搜索树分析 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: - 节点的左子树只包含小于当前节点的数。 - 节点的右子树只包含大于当前节点的数。 - 所有左子树和右子树自身必须也是二叉搜索树。中序遍历即:左中右 并把遍历节点依次放在列表中就能保证列表从小到大排列。因此检验最终的列表即可。结...原创 2018-08-02 14:17:10 · 1331 阅读 · 0 评论 -
[LeetCode] 计数质数
出处 [计数质数] (https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/25/math/61/)分析方法1: 该题若采用循环方式从1 ~ n 判断每一个是否是质数, 其中判断质数又直接循环3 ~ m 是否能被整除,肯定计算超时。方法2: 1 ~ n 改为 1 ~ sqrt...原创 2018-08-07 21:58:05 · 1730 阅读 · 0 评论 -
[LeetCode] 次幂判断问题
出处3的幂分析找规律来解题,尽量不要有循环这类想法。参考: 如何快速判断一个数是不是2的幂、3的幂、4的幂 的思路。 2的次幂: 二进制位只有一个1: 00000…..100000,减1后为 000000…..0111111。两者相与则为0。因此 n & (n-1) == 0 即可。 4的次幂:4^n = (2^2)^n,1仅在偶数进制位上,那与仅在奇数位上的...原创 2018-08-08 09:57:29 · 296 阅读 · 0 评论 -
[LeetCode] 一些位操作类的算法
1. 出处 找列表中唯一出现一次的元素 汉明重量/数1出现的次数 汉明距离2. 说明2.1 基本规则从二进制数开始分析有一些有趣的基本操作:乘2: 右移动1位除2: 左移1位0 & 0 = 0, 1 & 0 = 0, 1 & 1 = 0,这个用来处理数1出现的位数,后边会写0 ^ 0 = 0, 1 ^ 0 = 1, 1 ^ 1 ...原创 2018-08-08 14:33:34 · 226 阅读 · 0 评论