LC.204 Count-Primes 前言 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 本题给定一个整数n,返回小于n的质数的个数 基本思路枚举因数 对于一个整数x,可以从2开始枚举每一个可能的因数,一旦可以被整除,则不为质数 此方法对于小范围的n可行,但对于大范围的整数,对每一个数字的因数检查的时间开销都为O(n) 如n = 499979时会产生TLE 参考代码 123456789101112 2022-07-01 LeetCode #Daily algorithm problem solving #埃氏晒 #线性筛 #奇数晒
LC.273 Integer to English Words 前言外国数字的读法和国内不同,其分割方式为 2,234,911,679即每三个数为一组,从后向前分别视作 679 911个千 234个万 2个亿 递归模拟思路分析 有了以上对数字的分析,我们就会发现,把数字转变为英文写法,无非就是分组后的数字读法 + 数量级(千,万) 对于数字数量级分组,可以采用除法 + 整除的形式; 在数字读法方面,还需要有更细致的讨论: 众所周知,英文中100一下的数字 2022-06-30 LeetCode #模拟 #Daily algorithm problem solving #递归
LC.460 LFU-Cache 前言缓存算法 缓存算法是指令的一个明细表,用于提示计算设备的缓存信息中哪些条目应该被删去。常见类型包括LFU、LRU、ARC、FIFO、MRU。 本文中将介绍LRU缓存和LFU缓存。 最近最少使用算法(LRU)介绍 LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面 2022-06-29 LeetCode #链表 #哈希表 #Daily algorithm problem solving #红黑树
CodeForces Global Round 20 MY SUBMISSONS: Problems AC: 4Problems Try: 6Wrong Answer: 4 Problem A:Log Chopping题意分析 两人做游戏,一次性把一块大于等于2的木板劈成两块,直到无法再劈的人为失败 无论怎么样劈,一块长度为n的木板可劈n - 1次 由于errorgorn先起手,则可劈次数为奇数为errorgorn胜利,否则maomao90胜 2022-06-23 CodeForces #模拟 #贪心 #CodeForces Contest
Tokio Marine & Nichido Fire Insurance Programming Contest 2022(AtCoder Beginner Contest 256) MY SUBMISSIONS: Problems AC: 5Problems Try: 6Wrong Answer: 6 Problem A:A - 2^N题意分析 给定一个整数N返回2^N^ 数据量较小,直接调用**pow()**即可 注意要使用long long类型作为答案返回 参考代码 1234567891011121314151617181920212223242526272829 2022-06-21 AtCoder #Atcoder Contest #快速幂 #模拟 #暴力 #线段树
LC.51 N-Queens 前言本题是Eight Queens的衍生题 八皇后问题(英文:Eight queens),是由国际象棋棋手马克斯·贝瑟尔于1848年提出的问题 问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 本题将Eight Queens扩展为N Queens 朴素回溯法我们会优先想到朴素的回溯算法思路,对于N个皇后,我 2022-06-18 LeetCode #Daily algorithm problem solving #回溯算法