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