
算法
6曦轩
一个家事复杂的程序员
一个没有感情的广东人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL相关(三)- 索引数据模型推演及 B+Tree 的详细介绍
前言 前面已经写了有两篇章长度的文章,第三篇我一直在寻思着要写什么(其实并没有),按照脑图来的话,这篇文章我们该来讲讲关于索引的知识了,这可是 MySQL 性能优化很关键的知识点,千万千万不要错过,不过我这里会相对比较深入地探究,相信大家读完之后多少会有点收获。 先送上两张飞机票????还没读过前面文章的伙伴可以先前往阅读,由浅入深: MySQL相关(一)- 一条查询语句是如何执行的 MySQL相关(二...原创 2020-02-04 17:11:46 · 1164 阅读 · 0 评论 -
高效判断数字是否为2的幂次方
最近在看 netty 源码的一些实现,偶然看到这个判断数字是否为2的幂次方的方法,觉得很高效,所以贴出来跟大家一起分享: private static boolean isPowerOfTwo(int val) { return (val & -val) == val; } 由于与运算符是处理器运算,要比其他的运算高效得多,这里拿8来举个例子: 8 的二进制为 1000 -8 ...原创 2019-07-23 17:18:46 · 311 阅读 · 0 评论 -
性能优化利器-位运算的整理总结
前言 关于位运算,相信大家都不陌生,特别是写过一些对性能要求很严苛项目的同学,毕竟,这是一把提升程序性能效率的神兵利器。 我们都知道,程序中所有的数在计算机内存中都是以二进制的形式储存的,而位运算就是直接对整数在内存中的二进制位进行操作。比如,位与,位或,异或等。 本文着重于位运算的技巧总结,难度不会太大,掌握了还可以提高自己代码的逼格,但重点是要有耐心,理解位运算的作用。 正文 判断奇偶数 先看...原创 2020-01-08 15:30:42 · 416 阅读 · 0 评论 -
【算法】如何找出只出现一次的数字
题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 思路 首先,从题目中获取到几个关键点: 非空、整数、数组 只有一个元素出现一次,其余都出现两次 要求算法具...原创 2019-12-11 14:59:22 · 1215 阅读 · 0 评论