算法
YsyNoobCoder
西安电子科技大学在读
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode297.二叉树的序列化与反序列化
LeetCode297.二叉树的序列化与反序列化题目描述解题思路源代码LC格式题目描述序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。解题思路之前大作业太多搞得一直没时间记一记题,今天写了这个题还不原创 2020-06-16 23:59:45 · 774 阅读 · 0 评论 -
leetcode.560.和为K的子数组
和为K的子数组题目描述解题思路题目描述给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。解题思路又是连续子数组,看到题目想到最简单的方法就是遍历,而且子数组[i, j]的和可以由上一个子数组[i, j - 1] + nums[j]得到,所以遍历的时间复杂度只有O(n²)。直接上代码int subarraySum(vector<int>& nums, int k) { int count = 0; int pre = 0; vector&l原创 2020-05-16 00:23:08 · 187 阅读 · 0 评论 -
只出现一次的数字
只出现一次的数字题目描述解题思路代码描述题目来源:leetcode.136题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?解题思路如果没有说明限制,有很多种方法可以解题:1.使用集合记录数据,因为集合的性质不会添加两个同样的元素。故得到的集合的和的二倍即为原数组和+result。2.采用hash表存储每个数字和其出现的次数,存储后遍历即可。3.增加一个状态数组原创 2020-05-14 00:40:02 · 198 阅读 · 0 评论 -
二维数组中的查找
二维数组中的查找题目描述解题思路解题源码题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路初次(逻辑错误):行列分别二分查找:从第0列中找到最接近的数,若非target,则从该指定行中二分查找target。错误原因:并非每行之间的数分别都比比下一行中的每一个数小(any() < all()),所以答案不一定就在最第0列中接近的数的那一行原创 2020-05-14 00:07:58 · 130 阅读 · 0 评论
分享