算法
hzjangel
屌丝男一枚
展开
-
质数问题
204. 计数质数 统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 分析 这个问题属于质数问题,质数问题一般使用打表的方法 埃式筛法 https://zh.wikipedia.org/wiki/埃拉托斯特尼筛法 public class Eratosthenes { /** ...原创 2019-09-15 21:28:56 · 281 阅读 · 0 评论 -
环形链表 —— 小灰的算法之旅读书笔记
环形链表 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/linked-list-cycle 题目描述 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], p...原创 2019-09-17 23:02:43 · 195 阅读 · 0 评论 -
最小栈 —— 小灰的算法之旅读书笔记
最小栈 实现一个栈,该栈带有出栈(pop)、入栈(push)、取最小元素(getMin)3个方法 实现思路 使用一个主栈,存储数据,一个辅助栈,存储当前主栈元素的最小数 主栈进栈时,如果辅助栈为空,也进辅助栈,如果进栈元素小于辅助栈的栈顶元素,这个元素也进辅助栈中,否者只进主栈 主栈出栈时,如果出栈元素等于辅助栈的栈顶元素,辅助栈的栈顶元素也出栈,否则只出主栈的元素 查看最小元素的只需...原创 2019-09-17 23:02:08 · 157 阅读 · 0 评论 -
2的整数次幂 —— 小灰的算法之旅读书笔记
2的整数次幂 2的整数次幂转换成二进制是从第一个1开始,后面都是0, 2的整数次幂-1是从第一个1开始,后面的都是1,所以2的整数次幂和2的整数次幂-1进行位与运算得到的结果是0 代码实现 public class Power { public boolean isPowerOf2(int num) { return (num & num - 1) == 0; ...原创 2019-09-18 22:35:03 · 259 阅读 · 0 评论 -
最大公约数 —— 小灰的算法之旅读书笔记
辗转相除法(欧几里得算法) 两个正整数a和b(a>b),他们的最大公约数等于a除以b的余数c和b之间的最大公约数 更相减损术 两个整数a和b(a>b),它们的最大公约数等于a-b的差值c和b的最大公约数 更相减损术和移位结合 a和b都为偶数的时候,a和b的最大公约数为2*(a/2和b/2的最大公约数) a和b为一奇一偶的时候,将偶数除以2,求两个奇数的最大公约数 a和b为奇...原创 2019-09-18 22:36:26 · 170 阅读 · 0 评论 -
位运算
左移(<<) 尖括号指向左边(<<),a<<b表示a向左移动b位,即a = a * 2^b a向左移动b位: 先将a转为2进制,然后将a转为的二进制整体向左移动b位,低位用0补齐 左移位例子 System.out.println("移位前" + Integer.toBinaryString(10)); System.out.println("左移位后" + In...原创 2019-09-18 22:39:29 · 208 阅读 · 0 评论 -
移掉k个数字
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-k-digits/ 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。 示例 1 : 输入: num = “1432219”, k = 3 输...转载 2019-09-18 22:51:40 · 159 阅读 · 0 评论