
算法笔记
deft_
这个作者很懒,什么都没留下…
展开
-
算法思想:分治法
算法思想-分治法原创 2022-07-08 15:21:26 · 302 阅读 · 0 评论 -
算法笔记 - 三数相加
算法实践 - 三数相加给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。这道题最简单的方法是3个for循环,对数组进行遍历,比较每种情况,最后输出满足条件的结果。使用这种方法的弊端可想而知,时间复杂度非常高(n^n)比较理想的做法是对数组进行排序后使用前后指针查找,以此减少时间复杂度解题步骤:(解题不唯一)1、遍历数组a) 根据元素大小判断原创 2022-05-30 12:51:59 · 477 阅读 · 0 评论 -
算法笔记 - 盛最多水的容器
算法实践 - 盛最多水的容器给定一个长度为 n 的整数数组 height有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。这道题最简单的方法就是寻找到数组中最大的数,然后对数组进行遍历,比较每种情况的结果但后面想想可以应用 Vue 中的 diff算法 的原理来对头尾进行一次逐步比较处理,以此减少时间复杂度解题步骤:(解题不唯一)1原创 2022-05-24 18:01:25 · 174 阅读 · 0 评论 -
算法笔记:无重复字符的最长子串
算法实践 - 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。这道题我刚开始理解错了,无重复的字符理解成字符串了,想了很久后面才意识到没那么难解题步骤:(解题不唯一)1、初始化字符串相关变量2、循环字符串,判断前段字符是否包含现在的字符不包含则计数+1,字符串加入tempStr,包含则将计数压入数组并重新记录字符串、重新计数3、循环后运算数组最大的数值转换为结果function lengthOfLongestSubstring(s) { let原创 2022-05-18 10:25:42 · 115 阅读 · 0 评论 -
算法笔记:两数相加
算法实践 - 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。解题步骤:(解题不唯一)1、判断数组长度2、数组转换数值字符串3、运算后转换为结果...原创 2022-05-17 11:02:58 · 314 阅读 · 0 评论