auto commit

This commit is contained in:
CyC2018
2019-11-02 14:39:13 +08:00
parent f77756272b
commit 058e67e0ff
159 changed files with 3185 additions and 839 deletions

View File

@ -1,6 +1,21 @@
[TOC]
<!-- GFM-TOC -->
* [1. 统计两个数的二进制表示有多少位不同](#1-统计两个数的二进制表示有多少位不同)
* [2. 数组中唯一一个不重复的元素](#2-数组中唯一一个不重复的元素)
* [3. 找出数组中缺失的那个数](#3-找出数组中缺失的那个数)
* [4. 数组中不重复的两个元素](#4-数组中不重复的两个元素)
* [5. 翻转一个数的比特位](#5-翻转一个数的比特位)
* [6. 不用额外变量交换两个整数](#6-不用额外变量交换两个整数)
* [7. 判断一个数是不是 2 n 次方](#7-判断一个数是不是-2--n-次方)
* [8. 判断一个数是不是 4 n 次方](#8--判断一个数是不是-4--n-次方)
* [9. 判断一个数的位级表示是否不会出现连续的 0 1](#9-判断一个数的位级表示是否不会出现连续的-0--1)
* [10. 求一个数的补码](#10-求一个数的补码)
* [11. 实现整数的加法](#11-实现整数的加法)
* [12. 字符串数组最大乘积](#12-字符串数组最大乘积)
* [13. 统计从 0 \~ n 每个数的二进制表示中 1 的个数](#13-统计从-0-\~-n-每个数的二进制表示中-1-的个数)
<!-- GFM-TOC -->
**基本原理**
**基本原理**
0s 表示一串 01s 表示一串 1
@ -26,7 +41,7 @@ x ^ x = 0 x & x = x x | x = x
- \>\>\> n 为无符号右移左边会补上 0
- &lt;&lt; n 为算术左移相当于乘以 2<sup>n</sup>
** mask 计算**
** mask 计算**
要获取 111111111 0 取反即可\~0
@ -36,7 +51,7 @@ x ^ x = 0 x & x = x x | x = x
要得到 1 i 位为 0 mask只需将 1 i 位为 1 mask 取反 \~((1&lt;&lt;i)-1)
**Java 中的位操作**
**Java 中的位操作**
```html
static int Integer.bitCount(); // 统计 1 的数量
@ -425,3 +440,10 @@ public int[] countBits(int num) {
}
```
<div align="center"><img width="320px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码-1.png"></img></div>