算法
文章平均质量分 85
山山而川&
这个作者很懒,什么都没留下…
展开
-
算法学习-Leetcode(一)—— 三数之和
文章目录前言一、暴力解法二、排序+双指针解法1.排序 + 双指针2.C++版本总结 前言 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元 一、暴力解法 看到题目依据条件求和,我第一时间想到的就是暴力解法,遍历数组,寻找适合条件的数据(惭愧惭愧,自身实力拉胯,只能先解决问题再优化问题),当我付诸实际的时候,暴力解法确实很符合逻辑,写的也很快,但是问.原创 2021-08-22 12:14:14 · 288 阅读 · 0 评论 -
面向数据流编程:理解环形缓冲区——Buffer Ring
面向数据流编程:理解环形缓冲区——Buffer Ring 所谓环形缓冲区是我们预留的一片用来保存接收数据的区域(可以是外部的也可以是内部的),存储数据的区域是有限的,而不断接收的数据长度是未知的,甚至是无限的(理论上不断电不破坏,传感器就能一直有数据传回),鉴于硬件内存的限制我们无法创建一个无限大的存储空间,只能在有限的数据存储区域内,边存边写,来减小数据的丢失。 环形缓冲区实际上就是一个边存边处理数据的模式,新存储的数据在存储区达到上限后将重回起点将已经处理完的数据重新覆盖,达到一个重复利用的目的(这里可原创 2020-12-09 11:52:48 · 706 阅读 · 0 评论 -
Hash算法
在力扣网上做了一道C语言的两数之和题,难度简单。运用书本上所学的知识,遍历两遍数组也是让我给做出来了,但是结果让人大跌眼镜的是,用时达到320ms,属于提交中垫底的部分。 之前也是做过几道题,提交也基本在百分之五十以上。我开始金评论区寻找答案,评论中的C与C++的不多,算法都是两遍遍历数组,也是没有找到我想要的答案。最终在解法中发现了提高数组效率的Hash算法。以下是一位利用...原创 2020-04-05 16:40:29 · 137 阅读 · 0 评论