最近看到一道经典面试题: 在40亿的unsigned int数据中(乱序),给定一个数字target, 判断该target是否存在于这40亿的数据中?...准备工作: 如下代码随机生成[1, 2147483648)的整数集保存在D盘根目录下a.txt,生成数据(一行一个整数)之后(约占磁盘40G),用代码再统计一下生成的数字有3999999040(嗯?...在计算机中,bitmap是用作某个值(例如: 给定范围的整数),映射为位(bit), 也被叫做位数组或位图)。...比如使用上述第二种方法bufferedreader按行读取即可, 时间复杂度也是O(n)。...当然我认为bitmap是在如下的场景下会更适用些(请注意题目的约束条件这里只描述了大致意思): 文件中有40亿个互不相同的QQ号码,请设计算法对QQ号码进行排序 文件中有40亿个互不相同的QQ号码,求这些
2023-05-01:给你一个整数 n ,请你在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找出并返回第 n 位上的数字。...2.实现函数 findNthDigit,其输入为整数 n,表示要查找的数字在整数序列中的位置。根据 under 数组,找到包含第 n 个数字的区间长度 len,并返回调用子函数 number 的结果。...计算下一个节点的路径 cur*(all/offset)+path,并递归地调用 number 函数。...4.在 main 函数中,定义一个整数变量 n 表示要查找的数字在整数序列中的位置,调用 findNthDigit 函数查找第 n 个数字,并输出结果。...时间复杂度和空间复杂度如下:1.findNthDigit 函数中的循环需要遍历数组 under,时间复杂度为 O(1) 平均时间复杂度为 O(log n);number 函数实现了一个递归结构,每次递归除去常数项的时间复杂度为
今天他就去BAT中的一家面试了。 简单的自我介绍后,面试官给了小史一个问题。 【面试现场】 ? ? 题目:我有40亿个整数,再给一个新的整数,我需要判断新的整数是否在40亿个整数中,你会怎么做? ?...小史:我想想……哦,这样做的话,因为每台机器都可以一次性把数据读入内存,在比较的时候不用来回加载数据了,所以可以节省加载数据的开销!这真是个好办法。...来了一个新的数,怎么判断是否在40亿个位之中? ? 小史:我想想,对啊,40亿个位,40亿个数,那么每个位都是1,这。。。...小史:意思是我把整个整数范围都覆盖了,哦,对哦。这样一来,就可以做了,1代表第一个位,2代表第二个位,2的32次方代表最后一个位。40亿个数中,存在的数就在相应的位置1,其他位就是0。 ?...首先,32位int的范围是42亿,40亿整数中肯定有一些是连续的,我们可以先对数据进行一个外部排序,然后用一个初始的数和一个长度构成一个数据结构,来表示一段连续的数,举个例子。
小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT。 ? 今天他就去BAT中的一家面试了。 简单的自我介绍后,面试官给了小史一个问题。...题目:我有40亿个整数,再给一个新的整数,我需要判断新的整数是否在40亿个整数中,你会怎么做? ? ? ? ? ? ? ? ? ? ? ?...小史:我想想……哦,这样做的话,因为每台机器都可以一次性把数据读入内存,在比较的时候不用来回加载数据了,所以可以节省加载数据的开销!这真是个好办法。...来了一个新的数,怎么判断是否在40亿个位之中? ? 小史:我想想,对啊,40亿个位,40亿个数,那么每个位都是1,这。。。...小史:意思是我把整个整数范围都覆盖了,哦,对哦。这样一来,就可以做了,1代表第一个位,2代表第二个位,2的32次方代表最后一个位。40亿个数中,存在的数就在相应的位置1,其他位就是0。 ?
用go语言,一个数组被称为“特殊数组”,如果它的每一对相邻元素的奇偶性不同。...给定一个整数数组 nums 和一个二维整数矩阵 queries,我们需要判断对于每一个查询 queries[i] = [fromi, toi],对应的子数组 nums[fromi..toi] 是否为特殊数组...大体步骤如下: 1.首先通过函数isArraySpecial来判断数组中每一对相邻元素的奇偶性是否不同,以确定是否为特殊数组。...2.初始化一个长度为n的数组dp,用于存储到当前位置为止,符合条件的最长连续子数组长度。...5.将每个查询的结果存储在布尔数组res中,并返回该数组作为输出。 总的时间复杂度: • 对数组nums的遍历需要O(n)的时间复杂度,其中n为数组的长度。
题目:定义一个函数,在该函数中可以实现任意两个整数的加法。 对于这道题,由于没有限定输入的两个数的范围,我们要按照大数问题来处理。...由于题目是要求实现任意两个整数的加法,我们就要考虑如何实现大数的加法。此外这两个整数是任意的,所以也有可能存在负数。通常对于大数问题,常用的方法就是使用字符串来表示这个大数。...我们可以首先将两个整数分别用字符串来表示,然后分别将这两个字符串拆分成对应的字符数组。当两个整数都是正数的时候直接相加结果为正数,同为负数的时候取两者的绝对值相加然后在结果前加一个负号。...假若是一正一负,则用两者的绝对值相减,用绝对值大的数减去绝对值小的数,当正数的绝对值大的时候相减的结果为正数,当负数的绝对值大的时候相减的结果为负数,结果为负数时在相减的结果前加一个负号即可。...在具体进行相加的时候两个字符数组对应的数字字符相加即可,当有进位的时候做出标记,在更高一位进行相加时再将这个进位加进去。同样在相减的时候有借位的也做出标记,在更高一位相减的时候将这个借位算进去。
QQ:2835809579 有问题私聊我或者留言到评论区 原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数,若为素数函数返回值为1,否则为0。...在主函数中输入一个整数x,调用函数isprime(x)来判断这个整数x是不是素数,给出判断结果。...int i; for (i=2; i<=n-1; i++) { if (n %i==0) return 0;} return 1; } int main() { int x,y; printf("请输λ一个整数
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。力扣118。 福大大 答案2021-10-09: 自然智慧即可。
UTF-8 3.python3.x舍弃了长整型 python2.x:有长整型long python3.x:long整数类型被废弃,统一为int 4.打印函数的语法变化 python2.x:print...函数的输入内容类型为字符串 input()函数的输入内容类型为输入字符的类型 6.键盘读取输入方面 Python3只保留input()函数,且输入数据全部作为字符串处理; Python2...还支持row_input()函数,input()函数在处理输入数字的过程中,若输入的数字加引号,则作为字符串处理,否则当作数字处理。...9.next()和.next()函数 Python2对两个函数均支持 Python3只支持next()函数。...它读取 Python2.x 源代码,并应用了一系列的修复将它转变成有效的 Python3.x 代码; 如:2to3 -w test.py。
QQ:2835809579 原题: 定义一个计算两个整数的和的函数int sum(int a,int b),在主函数中输入两个整数x和y,调用sum(x,y)输出x+y的和。
2025-01-19:数组中的峰值。用go语言,在一个整数数组 nums 中,若某个元素大于其左右相邻的元素,则称该元素为“峰值”元素。...你会得到一个整数数组 nums 和一个二维数组 queries。需要处理两种操作: 1.queries[i] = [1, li, ri]:计算子数组 nums[li..ri] 中的峰值元素数量。...最终,你需要返回一个数组 answer,其中依次包含了每一次第一种操作的结果。 请注意,子数组的第一个和最后一个元素不被视为峰值元素。 3 <= nums.length <= 100000。...解释: 第一个操作:nums[2] 变为 4 ,它已经是 4 了,所以保持不变。 第二个操作:[4,1,4] 中峰值元素的数目为 0 。...第三个操作:第二个 4 是 [4,1,4,2,1] 中的峰值元素。 答案2025-01-19: chatgpt[1] 题目来自leetcode3187。
2022-10-05:在一个 n x n 的整数矩阵 grid 中,每一个方格的值 gridi 表示位置 (i, j) 的平台高度。当开始下雨时,在时间为 t 时,水池中的水位为 t 。...你可以从一个平台游向四周相邻的任意一个平台,但是前提是此时水位必须同时淹没这两个平台。假定你可以瞬间移动无限距离,也就是默认在方格内部游动是不耗时的。当然,在你游泳的时候你必须待在坐标方格里面。
python3.x中,把字符串变成了unicode,文件默认编码为utf-8。这意味着,只要用python3.x,无论我们的程序以那种语言开发,都可以在全球各国电脑上正常显示。 ...(补充一个问题,在python3.x中,只要把unicode编码,字符串就会变成了bytes格式,也不直接打印成gbk的字符,我觉得就是想通过这样的方式明确的告诉你,想在python3.x中看字符串,必须是...解决办法一个是将源代码的编码也改成gbk,也就是代码第一行改成: # -*- coding: gbk -*- 另一种方法是保持源码文件的utf-8不变,而是在’哈哈’前面加个u字,也就是:...最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。...-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
原题: 定义一个函数int fun(int n),用来计算整数的阶乘,在主函数中输入一个变量x,调用fun(x)输出x及以下的阶乘值。 输入输出示例 输入:5 输出: 1!=1 2!=2 3!...输入一个正整数n,输出n!...n; printf("Input n:"); //变量定义 scanf("%d", &n); //输入一个整数
= / 除 python2.x整型触发返回整数 python3.x整型触发返回浮点数,整除使用// 加入了nonlocal语句 去除了print语句,加入了print()函数 print("zutuanxue_com....x 字符串以16bit Unicode字符串存储,现在字符串只有str一种类型 5、数据类型 python3.x去除了long类型,现在只有一种整数类型int,但是它的行为就像2.x中long...xrange()在python3.x中名为range() file类被废弃 python2可以使用file(path)、open(path) 二、PEP8编码规范 网址: 英文教程:https://...否则不要使用单字母的变量名,但是即使在lamdba函数中变量名也要尽可能有意义 包名、模块名、函数名全部使用小写,单词使用下划线链接 类名、异常名使用首字母大写的方法,异常名结尾加Error或者Warning...块注释 一段逻辑开始时注释 引入外来算法或者配置时必须在注释中添加源链接,标明出处 函数和类尽量添加docstring 4、空格 :,;后面要跟一个空格,前面没有空格,行尾分号无需空格
我是川川,有问题留言or加我扣扣私聊:2835809579 原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。...在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
= 3628800,所以答案为2; - 输入描述: 输入为一行,n(1 ≤ n ≤ 1000) - 输出描述: 输出一个整数,即题目所求 - 示例1: - 输入: 10 - 输出: ...- 输入描述: 有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N行包含N个数(每个数不超过1000,空格分开)。 - 输出描述: 每组数据输出一个表示最大的整数。...现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。...这里有4种把B插入A的办法: * 在A的第一个字母之前: "baba" 不是回文 * 在第一个字母‘a’之后: "abba" 是回文 * 在字母‘b’之后: "abba" 是回文 * 在第二个字母'a'...第一行为字符串A 第二行为字符串B 字符串长度均小于100且只包含小写字母 - 输出描述: 输出一个数字,表示把字符串B插入字符串A之后构成一个回文串的方法数 - 示例1 - 输入 aba
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。
在Python中,表达式和内置函数可能在不同范围的类型有效,但方法通常特定于对象类型,例如,字符串方法仅适用于字符串对象。...属性读取: Object.attribute格式的表达式可以理解为“读取object对象的属性attribute值” 函数调用表达式: 具有函数(参数)格式的表达式意味着“调用函数代码,传递零或者更多用逗号隔开的参数对象...这两者合并可以让我们调用一个对象方法。..., 进行相应的替换,这个在python2.x和python3.x完全不同。...(后面会讲元组) 1、格式化代码(typecode) s 字符串(或任何对象) r 与s一样,但输出方式是repr方式,而不是str c 字符 d 十进制(整数) i 整数 u 无号整数 o 八进制整数
用go语言,给定一个整数数组 nums,请找出两个(可以是相同的)质数在该数组中的下标之间的最大距离。 提示: nums的长度在[1,3*10^5]之间。 nums的每个元素的值在[1,100]。...输入保证 nums 中至少有一个质数。 输入:nums = [4,2,9,5,3]。 输出:3。 解释:nums[1]、nums[3] 和 nums[4] 是质数。...其中,根据给定的质数列表 primes 和数组 nums: • 创建一个 map primeSet 用于存储质数的出现情况。...• 遍历 nums 数组,找到第一个质数的下标,并记录在变量 first 中。 • 再次遍历 nums 数组,找到最后一个质数的下标,并记录在变量 last 中。...• 返回最后一个质数的下标与第一个质数的下标之间的距离。 2.在主函数 main 中,定义一个示例数组 nums := []int{4, 2, 9, 5, 3}。
领取专属 10元无门槛券
手把手带您无忧上云