本文总结LeetCode上有关双指针、位运算和分治法的算法题,推荐刷题总数14道。具体考点分析如下图: 一、双指针 1.字符串和数组问题 题号:424. 替换后的最长重复字符,难度中等 题号:828. 独特字符串,难度困难 题号:923. 三数之和的多种可能,难度中等 2.实际场景应用问题 题号:8 ...
分类:
其他好文 时间:
2019-12-22 16:45:47
阅读次数:
103
1.定义: 添加枚举类元素的专用集合类 2.与其他集合类区别: EnumSet内部实现不使用常见的数据结构,比如数组(ArrayList),链表(LinkedList),哈系表(HashMap、Hashtable、HashSet),红黑树(TreeMap、TreeSet)而是使用位运算完成集合的基本 ...
分类:
编程语言 时间:
2019-12-21 20:55:03
阅读次数:
98
与:and -> 只要有0都为0,全是1才为1 或:or -> 只要有1都为1,全是0才为0 非:not ->1变0,0变1 与非:nand ->先按与的操作,然后结果取反 或非:nor ->先按或的操作,然后结果取反 异或:xor ->相异为1,相同为0 同或:xnor ->相同为1,相异为0 ...
分类:
其他好文 时间:
2019-12-21 09:18:37
阅读次数:
68
运算符和表达式 赋值运算符 = = += = /= %= 算术运算符 一元运算符:++ 二元运算符:+ / % 三元运算符: ?: 关系运算符 == != = <= 逻辑运算符 位运算符 运算符优先级 if选择结构 switch case结构 程序流程图之常见图形含义 总结 1. Java中逻辑运算 ...
分类:
其他好文 时间:
2019-12-19 20:49:58
阅读次数:
87
位运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始 bit 位,尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。 位运算符对于初学者来说有些难度,因此初学者可先跳过本节内容。 位运算符的操作对象是整数类型,它会把数字看做 ...
分类:
编程语言 时间:
2019-12-19 16:01:06
阅读次数:
97
二进制基础回顾 以下操作相对正整数的二进制而言,对非整数不太适用。 二进制转十进制 在二进制中,位权是2的幂,所以每一位所代表的权值从右到左分别为2^\(1 1) 、2^\(2 1) 、... 、 2^\(n 1) ,第n位的权值为2的(n 1)次幂。 所以: 100101 = 2^5 + 2^2 ...
分类:
其他好文 时间:
2019-12-19 12:50:37
阅读次数:
115
位域的定义和使用 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, ...
分类:
编程语言 时间:
2019-12-15 22:00:55
阅读次数:
236
uint8是8位无符号整型,uint16是16位无符号整型。 整型有无符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。在一些不可能取值为负数的时候,可以定义为unsi ...
分类:
其他好文 时间:
2019-12-15 12:23:46
阅读次数:
260