程序员宝典--常用代码分享
文章平均质量分 58
分享日常写代码或面试时常用到的代码题,多刷几遍,面试不慌。
借雨醉东风
大厂高级技术管理;
高考数学状元;
腾讯T4->独角兽AI公司VP(带领300+人)->跨境电商大厂(高级经理);
大厂面试辅导&逻辑思维交流&管理思维分享;
可定制化求职/在职/管理辅导;
展开
-
经典编程面试题--大文件找重复内容
但是,考虑到时间限制和编程复杂性,我们可以采用一种更实际的方法:使用内存中的哈希表来记录每个短信的出现次数,并在哈希表满或处理完所有短信后,将哈希表中的数据写入外部文件(如临时文件),然后对这些数据进行排序以找出重复次数最多的前10条。如果你需要处理的数据量真的非常大,以至于不能全部加载到内存中,你可能需要考虑使用数据库系统或分块处理数据,并在磁盘上维护排序的索引或结果。然而,为了简化实现并尽可能减少编程时间,这里我将提供一个简化的C++示例,它假设系统有足够的内存来存储哈希表,并使用标准库中的。原创 2024-10-01 00:00:00 · 901 阅读 · 0 评论 -
经典编程面试题--大文件找串对
遍历文件时,我们先计算每个字符串的逆序,然后检查逆序是否已经在哈希表中存在。由于每个字符串长度不超过1K,逆序操作的时间复杂度是线性的(O(n)),其中n是字符串的长度。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。一个文件,内含一千万行字符串,每个字符串在1K以内,要求找出所有相反的串对,如abc和cba。这个代码示例提供了一个基本的框架,你可以根据自己的需求进行调整和优化。原创 2024-09-30 00:00:00 · 679 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:判断是否一次编辑即可
字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。这里主要就是判断更改的距离是否大于1,如果小于等于1,那么跳过那个位置其它应该是相等的。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。有意找工作的同学,请参考博主的原创:《原创 2024-08-18 10:30:00 · 604 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:字符串压缩
利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。若“压缩”后的字符串没有变短,则返回原先的字符串。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。若“压缩”后的字符串没有变短,则返回原先的字符串。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。,让人能紧跟时代的浪潮。解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。原创 2024-08-12 12:30:00 · 545 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:字符串轮转
给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。】里面有大量面试涉及的算法或数据结构编程题。有意找工作的同学,请参考博主的原创:《,目前已完成所有内容。或关注博主免费专栏【原创 2024-08-11 10:30:00 · 202 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:判断是否回文排列
不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。其实这类问题很简单,奇数个的字符只能有1个或0个。输出:true(排列有"tacocat"、"atcocta",等等)catca,排列为catac,也是回文串。给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。因此,只要奇数字符大于等于2,就不是。原创 2024-08-10 10:30:00 · 656 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:字符串URL化
/只有一个数字5表示从下标为5开始一直到结尾:sub1 = "56789"编写一种方法,将字符串中的空格全部替换为%20。//从下标为5开始截取长度为3位:sub2 = "567"不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。从普通网站,到公众号、小程序,再到AI大模型网站。输出:"Mr%20John%20Smith"输出:"%20%20%20%20%20"原创 2024-08-09 00:00:00 · 511 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:零矩阵
但为了防止每一列的第一个元素被提前更新,我们需要从最后一行开始,倒序地处理矩阵元素。时间复杂度:O(mn),其中 mm 是矩阵的行数,nn 是矩阵的列数。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。从普通网站,到公众号、小程序,再到AI大模型网站。编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。有意找工作的同学,请参考博主的原创:《,目前已完成所有内容。原创 2024-08-08 00:00:00 · 324 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:判定是否互为字符重排
关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可接项目赚外快,绝对划算。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。原创 2024-08-05 12:30:00 · 384 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:旋转数组的最小数字
不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。】里面有大量面试涉及的算法或数据结构编程题。有意找工作的同学,请参考博主的原创:《个位置后的数组可能如下: 例如,数组。找到旋转后的数组中最小的元素。学成后可接项目赚外快,绝对划算。的数组,将数组中的元素向右旋转。,目前已完成所有内容。,旋转操作后的结果为。原创 2024-07-22 00:00:00 · 336 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:最长回文子串
这个解法的时间复杂度是 O(n^2),其中 n 是字符串的长度。因为对于字符串中的每个字符(或字符间的空隙),我们都需要执行一次中心扩展操作,这个操作本身需要 O(n) 的时间。对于字符串中的每一个字符(或每两个相邻字符之间的空隙),我们可以尝试将其视为回文中心,然后向两边扩展,检查是否形成回文串,并记录最长的回文串。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。原创 2024-07-20 00:00:00 · 376 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:旋转矩阵
给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不仅学会如何编程,还将学会如何将AI技术应用到实际问题中,为您的职业生涯增添一笔宝贵的财富。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。有意找工作的同学,请参考博主的原创:《不占用额外内存空间能否做到?给定 matrix =,目前已完成所有内容。给定 matrix =原创 2024-07-18 12:30:00 · 399 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:两数之和 II - 输入有序数组
给你一个下标从1开始的整数数组numbers,该数组已按非递减顺序排列,请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2],则1原创 2024-06-24 12:30:00 · 589 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:盛最多水的容器
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和(i, height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。原创 2024-06-23 12:30:00 · 365 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:三数之和
给你一个整数数组nums,判断是否存在三元组[nums[i], nums[j], nums[k]]满足i != j、i != k且j != k,同时还满足nums[i] + nums[j] + nums[k] == 0。请你返回所有和为0且不重复的三元组。原创 2024-06-22 12:30:00 · 518 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:长度最小的子数组
给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的子数组[numsl, numsl+1, ..., numsr-1, numsr],并返回其长度。如果不存在符合条件的子数组,返回0。原创 2024-06-21 12:30:00 · 504 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:判断子序列
给定字符串s和t,判断s是否为t的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。原创 2024-06-17 00:00:00 · 1025 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:文本左右对齐
给定一个单词数组words和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。原创 2024-06-14 12:30:00 · 1104 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:Z 字形变换
将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z 字形排列。原创 2024-06-13 12:30:00 · 538 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。原创 2024-06-03 00:00:00 · 703 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:反转字符串中的单词
给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。原创 2024-06-10 10:00:00 · 1015 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:找出字符串中第一个匹配项的下标
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。原创 2024-06-09 10:00:00 · 396 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。原创 2024-06-08 10:00:00 · 677 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:罗马数字转整数
数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。同时也在学习LLamaSharp,将持续更新AI相关内容。欢迎大家订阅&学习交流。通常情况下,罗马数字中小的数字在大的数字的右边。有意找工作的同学,请参考博主的原创:《》,目前已完成所有内容,持续上传中。给定一个罗马数字,将其转换成整数。,即为两个并列的 1。原创 2024-06-06 22:00:00 · 1290 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:整数转罗马数字
罗马数字是通过添加从最高到最低的小数位值的转换而形成的。3000 = MMM 由于 1000 (M) + 1000 (M) + 1000 (M)从普通网站,到公众号、小程序,再到AI大模型网站。700 = DCC 由于 500 (D) + 100 (C) + 100 (C)注意:49 不是 50 (L) 减 1 (I) 因为转换是基于小数位。有意找工作的同学,请参考博主的原创:《》,目前已完成所有内容,持续上传中。原创 2024-06-05 00:00:00 · 1189 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。原创 2024-06-02 00:00:00 · 252 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:最后一个单词长度
由若干单词组成,单词前后用一些空格字符隔开。是指仅由字母组成、不包含任何空格字符的最大子字符串。最后一个单词是长度为 6 的“joyboy”。最后一个单词是“World”,长度为 5。最后一个单词是“moon”,长度为 4。有意找工作的同学,请参考博主的原创:《原创 2024-06-01 00:00:00 · 336 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:删除有序数组中的重复项 II
解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。原创 2024-05-31 00:00:00 · 457 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:删除有序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。// 长度正确的期望答案。原创 2024-05-30 00:00:00 · 301 阅读 · 0 评论 -
程序分享--大厂常见算法/编程面试题:O(1) 时间插入、删除和获取随机元素
int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true;否则,返回 false。bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true;你必须实现类的所有函数,并满足每个函数的 平均 时间复杂度为 O(1)。原创 2024-05-29 00:00:00 · 364 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:不使用额外数组空间,原地移除数组中给定元素
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中 该长度范围内 的所有元素。原创 2024-05-28 00:00:00 · 458 阅读 · 0 评论 -
C++程序分享--常见算法/编程面试题:(百度笔试题)用 C 语言实现函数 void * memmove
用 C 语言实现函数 void * memmove(void *dest, const void *src, size_t n)。由于可以把任何类型的指针赋给 void 类型的指针, 这个函数主要是实现各种数据类型的拷贝。如果不允许使用memcpy,则可以用类似下面赋值的代码,从前往后复制即可。src 所指的内存内容前 n 个字节到 dest 所指的地址上。有意找工作的同学,请参考博主的原创:《博主其它经典原创:《原创 2024-05-27 00:00:00 · 1295 阅读 · 0 评论 -
开放性逻辑破案题--晚宴杀人真相
麦克尔用这种洗洁剂擦拭领带上的污迹时,吸入了足量的四氯化碳有毒气体,尤其是饮酒过度时,一旦吸入,就会招致死亡,其死因不留明显的证据,所以,往往被误作酒精中毒死亡。洗洁剂就在洗脸间的架子上放着,他将液体倒在领带上擦拭污迹,擦掉后立即回到宴会席上,边喝着威士忌,边与人谈笑风声。他一边讥讽着,一边若无其事地晃动着手中的叉子,黑红的调味汁溅了麦克尔一领带,雪白的丝绸料上顿时污迹斑斑。然而,只有一个人暗地里幸灾乐祸,他就是史密斯,就是他得知自己的妻子与麦克尔有私情,才以此进行报复的。在美国,家庭宴会盛行。原创 2024-05-23 12:30:00 · 490 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:轮转数组
------------------------------------正文-----------------------------------------------------------------------------答案----------------------------------------可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;有意找工作的同学,请参考博主的原创:《原创 2024-05-26 00:00:00 · 226 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:多数元素
------------------------------------正文----------------------------------------关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。】里面有大量面试涉及的算法或数据结构编程题。有意找工作的同学,请参考博主的原创:《原创 2024-05-25 00:00:00 · 365 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:合并两个有序数组
为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。需要合并 [1,2,3] 和 [2,5,6]。博主其它经典原创:《原创 2024-05-23 00:00:00 · 345 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:分发糖果
给你一个整数数组 ratings 表示每个孩子的评分。你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。第三个孩子只得到 1 颗糖果,也能满足题干中的两个条件。2.相邻两个孩子评分更高的孩子会获得更多的糖果。有意找工作的同学,请参考博主的原创:《1.每个孩子至少分配到 1 个糖果。原创 2024-05-22 00:00:00 · 618 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:加油站问题
------------------------------------正文-----------------------------------------------------------------------------答案----------------------------------------你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。原创 2024-05-21 00:00:00 · 628 阅读 · 0 评论 -
程序分享--常见算法/编程面试题:除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。题很简单,只需要注意到要处理0,可以分类讨论。有意找工作的同学,请参考博主的原创:《原创 2024-05-19 00:00:00 · 303 阅读 · 0 评论 -
C++程序分享--常见算法/编程面试题:左旋转字符串
关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;这个操作的时间复杂度是 O(n),因为最多只会遍历字符串两次。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。有意找工作的同学,请参考博主的原创:《原创 2024-05-16 00:00:00 · 338 阅读 · 0 评论