自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 24年美团秋季笔试题

摘要 #254题"小美的密码"要求统计字符串长度分布,通过记录各长度字符串数量,快速计算密码的可能位置范围。代码使用数组记录长度频率,最后通过遍历数组得出结果。 #255题"小美的数组删除"考察有序集合应用,维护未出现的最小非负整数(mex)。关键思路是删除元素时mex只会减小或不变,通过枚举删除数量并更新mex来求得最小值。代码使用map统计元素频率,初始计算mex后,在删除过程中动态调整mex值,最终取最小运算结果。

2025-07-07 21:55:57 301

原创 24年OPPO秋季笔试题

本文介绍了三个编程问题的解法: 小欧过河:寻找两个1之间最多0的数量。通过在数组两端添加1并遍历数组,记录最大间隔。 小欧的数组划分:使用贪心算法分段,确保每段按位或结果小于k。若单个元素超过k则直接返回-1。 小欧的子序列数量:采用动态规划统计"1145"子序列数量,通过维护三个状态变量分别记录"11"、"114"和"1145"的出现次数。 所有解法均通过示例测试,时间复杂度为O(n)。

2025-07-03 21:54:24 191

原创 24年京东秋季笔试题

本文摘要: 牛牛的位置问题:通过方向矩阵和方向索引控制移动,处理左右转向逻辑,最终计算坐标位置。 和为k的序列对数量:使用哈希表记录元素出现次数,遍历数组时统计满足条件的对数,考虑元素相等情况。 生成指定数组的最少操作次数:计算每个元素所需的最小操作步数(基于二进制位分析),通过相邻元素差值累加得到总操作次数。 三个问题分别展示了方向控制、哈希表应用和位运算分析的解题思路。

2025-07-02 21:58:34 285

原创 24年秋季快手笔试题

本文包含两个算法题目: 有效括号问题:判断括号字符串是否有效,并计算有效括号对数。使用栈结构进行匹配检查,处理三种不匹配情况。优化点包括先判断字符串长度是否为偶数,以及利用哈希表快速匹配括号对。 最长滑道问题:在矩阵中寻找最长递减路径。初始暴力DFS解法因重复计算导致超时,优化后采用记忆化技术存储已计算路径的最大值,避免重复搜索。通过方向数组处理四个移动方向,时间复杂度优化为O(n^2)。 两题均展示了算法优化思想:有效括号利用预处理和哈希表提升效率;最长滑道通过记忆化剪枝减少重复计算。

2025-07-01 21:50:17 418

原创 C++STL(二)类模板

本文介绍了C++中类模板的基本概念和使用方法。首先,类模板的声明形式为template<class 类型形参1,...> class 类模版名 {...};,并通过示例展示了如何定义和使用类模板。类模板必须通过类型实参实例化后才能使用,且成员函数在调用时才会被实例化。文章还讨论了类模板的静态成员、递归实例化、全局特化、局部特化以及类型形参的缺省值。全局特化可以针对特定类型重新定义类模板,而局部特化则允许对部分类型进行特化。类型形参的缺省值可以在实例化时提供默认类型,简化代码编写。

2025-05-21 21:48:38 704

原创 C+++STL(一)

本文探讨了C++中宏和函数模板的使用及其优缺点。C++作为静态类型语言,虽然效率高且类型安全,但编写通用代码时需为不同数据类型重复实现相同功能。宏可以摆脱类型限制,但缺乏类型检查,且代码可读性差。通过宏构建通用函数框架,虽然解决了部分问题,但仍存在可读性不足的缺陷。函数模板则提供了更好的解决方案,允许定义通用函数,并通过实例化生成具体函数实体。编译器对函数模板进行两次编译,确保代码的正确性。此外,函数模板支持隐式推断类型实参,简化了代码编写。总体而言,函数模板在保持类型安全的同时,提供了更高的代码复用性和可

2025-05-19 21:51:48 779

原创 网络编程(一)

网络编程:通过代码网络收发数据网络原理:TCP 三次握手,四次挥手,滑动窗口,慢启动,拥塞控制,超时重传,延迟确认,ARP,ICMP,IGMP,TCPdump/wireshark,FD分配机制,epoll原理,网关经验:UDP的应用,

2025-02-17 21:26:13 670

原创 卡码网1-20题总结

这算是从暑假到开学的复健,慢慢开始继续coding了。

2024-09-22 18:16:14 1178

原创 代码随想录第二十八天|单调栈(2)

我不会做!

2024-08-14 20:42:28 846

原创 代码随想录第二十七天|单调栈(1)

单调栈系列其实用暴力解法基本上都能干出来,但是用单调栈的话会更巧妙一点点。

2024-08-13 15:53:00 577

原创 代码随想录第二十六天|动态规划(10)

动态规划这一章完了, 但是我感觉自己还是没咋提升。

2024-08-12 15:50:20 559

原创 代码随想录第二十五天|动态规划(9)

还是写不出来。

2024-08-10 21:57:40 723

原创 代码随想录第二十四天|动态规划(8)

我还是不会!!!

2024-08-09 21:58:56 1218

原创 代码随想录第二十三天|动态规划(7)

这么几天练下来,还是没啥感觉,动归还是太难了。

2024-08-08 21:55:37 649

原创 代码随想录第二十二天|动态规划(6)

还是一样,自己退不出递推公式,但给出了后面的题又好解决。

2024-08-06 21:46:17 318

原创 代码随想录第二十一天|动态规划(5)

动归的递推公式太难想了,这次还加上了二叉树。感觉自己以及到尽头了。= =

2024-08-05 22:07:13 1039

原创 代码随想录第二十天|动态规划(4)

今天做的昏头昏脑,还得是要多练习才行。

2024-08-04 20:57:30 507

原创 代码随想录第十九天|动态规划(3)

今天其实有两个新知识,一个是在完全背包中与01背包不同的是,内层循环的循环不同,完全背包是要从容量小到大遍历,以多次取物品进去。第二个是完全背包中,排列和组合问题,组合问题就是先物品后容量,排列问题就是先容量后物品。

2024-08-03 15:26:25 627

原创 代码随想录第十八天|动态规划(2)

LeetCode 1049. 最后一块石头的重量 II思想:本题跟上题十分相似,可以借助上一题的想法,两块石头互相比,那么就可以更改为找出两个总和差不多的子集合,然后作差,得到最小的可能重量。思想跟上题差不多就不过多赘述了。这里注意还是dp数组的大小取舍。i++) {j--) {时间复杂度:O(n^2),空间复杂度:O(n)。动态规划中的01背包问题,最最最最最最主要的就是要把问题抽象成01背包问题,什么是背包,什么是物品,物品的重量是什么,物品的价值又是什么。之后就好做了。

2024-08-02 16:57:53 974

原创 代码随想录第十七天|动态规划(1)

刷到动态规划的话,也算是到了熟悉的领域了。贪心算法有些实在是想不出来。

2024-07-24 21:55:40 1052

原创 代码随想录第十六天|贪心算法(2)

贪心算法没学到什么,能自己做出来的屈指可数,不过学到了sort函数的新方法,可以根据自定义的函数来进行排序。

2024-07-22 22:09:17 819

原创 代码随想录第十五天|贪心算法(1)

有些贪心算法可太难想了,今天的效果不怎么样,看之后吧。

2024-07-19 21:42:28 1085

原创 代码随想录第十四天|回溯算法(2)

还是背模版,然后在操作中灵活变通。

2024-07-18 21:54:24 565

原创 代码随想录第十三天|回溯算法(1)

回溯算法的话,记住模版然后就可以大展神威了。

2024-07-17 21:58:48 729

原创 代码随想录第十二天|二叉树(5)

思想:本题的意思其实是,将一个二叉搜索树转化为升序数组的话,例如[1,2,3],其对应的累加树序列就是,每个数加其本身以及大于本身的元素,即[6,5,1]。那这样的就是每个数加其本身以及后面的数。思想:本题其实比较简单,首先就是遍历整棵树,遇到节点的值如果不在所要求的区间范围内的话,就进行以下处理;如果节点值大于右边界,就返回当前节点的左节点;反之就返回当前节点的右节点。思想:其实本题特别像之前的一道根据前中序序列构造二叉树,大体上与其十分相似,只是确定root节点的时候,取数组最中间的元素即可。

2024-07-16 14:51:27 417

原创 代码随想录第十一天|二叉树(4)

这几天学习到了一个新的知识点,就是遍历二叉树的方式。这种遍历方式一般用于遍历二叉树的边。这种遍历方式一般用于遍历整个二叉树。如果需要搜索整棵二叉树且不用处理递归返回值,递归函数就不要返回值。如果需要搜索整棵二叉树且需要处理递归返回值,递归函数就需要返回值。如果要搜索其中一条符合条件的路径,那么递归一定需要返回值,因为遇到符合条件的路径了就要及时返回。

2024-07-15 22:03:37 1014

原创 代码随想录第十天|二叉树(3)

还是得熟练掌握遍历方法。

2024-07-14 21:58:43 803

原创 代码随想录第九天|二叉树(2)

二叉树总要涉及到各种遍历的方式,采取正确的遍历方式和终止条件是无比重要的。

2024-07-12 22:24:11 1200

原创 代码随想录第八天|二叉树

遍历是数据结构的基本,掌握遍历才能完成后序操作。

2024-07-11 21:46:39 859

原创 代码随想录第七天|栈与队列(1)

栈这个东西,基本上都是最广泛应用的。能应用好还是很有效的。

2024-07-10 22:10:42 1008

原创 代码随想录第六天|字符串

字符串的操作应该是我本科四年练的最多的,所以做起来比较得心应手,比较简单,包括这几题都是在反转的基础上而来的,思想差不多都一致。

2024-07-09 22:08:48 1002

原创 代码随想录第五天|哈希表(2)

哈希表两天的练习下来,感觉特别灵活也比较固定。灵活是需要的逻辑比较多,固定就是哈希表要做的事情比较固定,一般就是用来查找的。

2024-07-08 21:52:11 882

原创 代码随想录第四天|哈希表(1)

哈希表主要运用来判断是否有重复元素或降低查找效率的。不过,在面试的时候一般不会询问怎么用哈希表,而是提问哈希表的底层运行逻辑问题,例如红黑树等。后续还得深入。

2024-07-06 22:09:43 708

原创 代码随想录第三天|链表(2)

链表涉及到的思想会比数组多一点,因为它特殊的访问方式。感觉掌握了增删改查之后,每个链表题其实都可以暴力解出来的。

2024-07-05 22:15:27 450

原创 代码随想录第二天|链表(1)

其实今天也做了另一题LeetCode 707. 设计链表。可我一直报错,应该是编译器在执行的时候,在循环的时候链表采取了cur=cur->next;类似操作的时候需要判断cur这个结点是否为空,不然是不会让你编译成功的。换言之,就是while循环的判断语句中需要加上while (cur!= NULL)这一项;其次,新学到了虚拟头结点这个知识,通常在链表的增删改操作中运用会有奇效。查这一操作的话,可以不采用。

2024-07-04 22:17:12 908

原创 代码随想录第一天|数组

数组的各类操作,在考虑过双指针、快慢指针之后都会比暴力算法的效率高上一截。

2024-07-03 22:50:55 724

原创 平均时间同步协议(ATS)

本文介绍了时间同步中的平均时间同步协议算法。

2024-01-12 16:30:01 1785 1

原创 梯度时间同步协议(GTSP)

本文介绍了传感器网络中的梯度时间同步协议的主要过程。

2024-01-10 12:29:30 1304

原创 传感器网络中的时间同步以及一致性算法理论

本文主要针对传感器网络中的时间同步问题以及一致性理论进行了初步探讨。

2024-01-08 22:22:27 1458 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除