自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AAS48的博客

算法之路

  • 博客(11)
  • 收藏
  • 关注

原创 LeetCode: 268. 缺失数字(位运算异或,思路强大)

给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2、示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8本题要求时间复杂度为O(n),所以排序啥的可以不用考虑了。【分析过程:】一开始想用二进制位来标记,如果数字x出现了,那我就在sum的第x位加一个1。比...

2019-07-29 15:29:09 781

原创 优秀程序员不得不知道的20个位运算技巧

原文地址:https://blog.csdn.net/zmazon/article/details/8262185这篇博客总结的特别好,进一步感受到了位运算的奇妙。关于里面有几处不太好理解,这里做一个小结:1.获得int型最大值int getMaxInt(){ return (1 << 31) - 1;//2147483647, 由于优先级关系,括号不可省略...

2019-07-29 14:36:56 196

原创 LeetCode:342. 4的幂(位运算)

给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false和2的幂那一题类似,由于4的幂如,16 = 0b10000, 4 = 0b100,所以4的幂中,也只会出现1个1,并且这个1的位置肯定是在奇数位上。所以可以用简单的循环轻松解决:class Solution { ...

2019-07-26 17:05:55 167

原创 位运算解析n &= (n - 1)及例题分析

近日在leetcode上做位运算的习题,发现很多人都用到n &= (n - 1)或者n = n & (n - 1)这种写法。一开始看觉得很奇怪,细细分析一下才发现它的奇妙。从具体的数字开始分析。比如当n = 0b1000时,那么这句话做完,n = 0;这个过程是怎么样的呢?我们知道n = 0b1000,那么n - 1 = 0b0111对吧。因此,n & (n - 1)就...

2019-07-26 11:46:32 947

原创 Java位运算知识总结

Java位运算知识主要涉及:1.进制转换。2.有符号数:原码、反码、补码。3.位运算符概述。1.进制转换此部分涉及到进制的概念。二进制、八进制、十六进制与十进制相互转换的方法,比较基础虽然底层都是二进制,但是计算机需要知道你输入的数据要以何种进制来解读。所以Java中以0b开头的是二进制数,以0开头的是八进制数,以0x开头的是16进制数。int x = 0b100; //这样,x的十进制...

2019-07-24 20:37:31 161

原创 LeetCode.409.最长回文串(哈希表)

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。---------------------------------...

2019-07-21 17:52:01 186

原创 LeetCode:49. 字母异位词分组(哈希表)

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。不考虑答案输出的顺序。【思路】:利用Ascii码...

2019-07-20 14:19:19 173

原创 LeetCode: 1022. 从根到叶的二进制数之和(DFS)

给出一棵二叉树,其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如,如果路径为 0 -> 1 -> 1 -> 0 -> 1,那么它表示二进制数 01101,也就是 13 。对树上的每一片叶子,我们都要找出从根到该叶子的路径所表示的数字。以 10^9 + 7 为模,返回这些数字之和。示例: 1 / \...

2019-07-13 19:51:07 160

原创 LeetCode606.根据二叉树创建字符串(递归)

你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将是“1...

2019-07-10 15:46:52 265

原创 653. 两数之和 IV - 输入 BST(二分查找)

给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。案例 1:输入: 5 / \ 3 6 / \ \2 4 7Target = 9输出: True 案例 2:输入: 5 / \ 3 6 / \ \2 4 7Target = 28输...

2019-07-10 15:21:48 139

原创 LeetCode,897. 递增顺序查找树(二叉搜索树)

给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。示例 :输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8 / / \ 1 7 9输出:[1,nul...

2019-07-10 12:17:57 412

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除