
算法
文章平均质量分 87
_Tough_Girl
这个作者很懒,什么都没留下…
展开
-
算法之滑动窗口案例
1、无重复字符串的最长子串描述: 给定一个字符串 s(s 由英文字母、数字、符号和空格组成) ,请你找出其中不含有重复字符的最长子串的长度。示例:示例 1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",原创 2021-08-30 10:18:39 · 281 阅读 · 1 评论 -
算法思想之双指针
1、什么是双指针严格的来说,双指针只能说是是算法中的一种技巧。双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。双指针可以从不同的方向向中间逼近,即对撞指针,也可以朝着同一个方向遍历,即快慢指针。2、双指针问题细节通俗的说,就是在数组遍历中,我们使用两个指针进行操作。所以双指针问题基本有以下几个细节:双指针的初始位置。双指针的移动方法。遍历的结束条件。根据双指针的分类,都各有两种可能,具体如下。3、对撞指针对撞指针是指在数组中,将指向最左侧的索引定义为左指针(left原创 2021-08-22 23:31:41 · 1100 阅读 · 0 评论 -
算法之双指针编程案例
1、有序数组的平方描述:给你一个按 非递减顺序 排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按 非递减顺序 排序。示例:示例 1:输入:nums = [-4, -1, 0, 3, 10]输出:[0, 1, 9, 16, 100]解释:平方后,数组变为[16, 1, 0, 9, 100]排序后,数组变为[0, 1, 9, 16, 100]示例 2:输入:nums = [-7, -3, 2, 3, 11]输出:[4, 9, 9, 49, 121]方法一:直接排序思原创 2021-08-22 22:47:28 · 469 阅读 · 0 评论 -
算法之二分查找算法
查找算法之二分查找算法1、 概述二分查找算法也称折半查找算法,是在有序数组中用到的较为频繁的一种查找算法。在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,即顺序查找。二分查找较顺序查找更优,因为这种算法每一次比较都使查找范围缩小一半。二分查找是一种基于比较目标值和数组中间元素的教科书式算法。如果目标值等于中间元素,则找到目标值。如果目标值较小,继续在左侧搜索。如果目标值较大,则继续在右侧搜索。2、算法思想二分查找算法是建立在有序数组基础上的。算法思想为:原创 2021-08-20 16:34:48 · 301 阅读 · 0 评论