
算法
文章平均质量分 58
Algorithm-007
翁凯老师:学计算机一定要有一个非常强大的心理状态,计算机的所有东西都是人做出来的,别人能想的出来,我也一定能想得出来,在计算机里头没有任何黑魔法,所有的东西只是我现在不知道而已,总有一天我会把所有的东西所有内部细节全都搞明白。
展开
-
Java详解LeetCode1~300题之003无重复字符的最长子串
Java详解LeetCode1~300题之003无重复字符的最长子串原创 2022-10-24 15:35:35 · 506 阅读 · 0 评论 -
Java详解LeetCode1~300题之002两数相加
Java详解LeetCode1~300题之002两数相加原创 2022-10-02 11:48:44 · 295 阅读 · 0 评论 -
Java详解LeetCode1~300题之001两数之和
Java详解LeetCode1~300题之001两数之和原创 2022-09-12 18:51:47 · 149 阅读 · 0 评论 -
LeetCode003无重复字符的最长子串之滑动窗口
题目描述给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。【题目来源:力扣(LeetCode)】滑动窗口(Sliding Window)滑动窗口算法是在给定特定窗口大小的数组或字符串上执行要求的操作。该算法可以将一部分问题中的嵌套循环转变为一个单循环,因此它可以减少时间复杂度。滑动窗口算法在一个特定大小的字符串或数组上进行操作,而不在整个字符串和数组上操作,就像队列一样,一端在添加元素的过程中另一端也在删除元素,以此来达到不断更新窗口的元素直到匹配出我们最需要的结果...原创 2022-04-23 10:10:54 · 323 阅读 · 1 评论 -
LeetCode011盛最多水的容器之双指针
题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。【来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water】双指针-对撞指针对撞指针指的是在遍历对象的过程中,原创 2022-04-23 10:09:38 · 217 阅读 · 0 评论 -
LeetCode035搜索插入位置之二分查找
题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。【题目来源:力扣(LeetCode)】二分查找百科:二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。首先,假设表中元素是按从小到大排列,将表中间mid位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关原创 2022-04-23 10:06:41 · 137 阅读 · 0 评论 -
LeetCode020有效的括号之栈
题目描述给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。【来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses】栈栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个.原创 2022-04-23 10:05:18 · 164 阅读 · 0 评论 -
LeetCode005最长回文子串之动态规划
题目描述:给你一个字符串s,找到s中最长的回文子串。【题目来源:力扣(LeetCode)】解法:动态规划维基百科:动态规划(英语:Dynamic programming,简称 DP),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。以该题为例:首先,从示例中可看出该题可能是不唯一解,我们需要从所给的字符串s中,找到满足符合条件的子字符串。简单的...原创 2022-04-23 10:02:37 · 226 阅读 · 0 评论 -
LeetCode560和为K的子数组的前缀和解法
题目描述:给你一个整数数组 nums 和一个整数k ,请你统计并返回该数组中和为k 的连续子数组的个数。【题目来源:力扣(LeetCode)】前缀和:前缀和是一种预处理,用于降低查询时的时间复杂度。 举个例子:给定n个整数,然后进行n次询问,每次询问求一个区间内值的和。对于该题的具体步骤:创建一个字典dict,从第一位依次求和,即第一次求和是第一个数,第二次求和是第一和第二个数的和,第三次求和是一到三位数的和,以此类推。计算每一次的和出现次数,在字典中,和设为value,出现的次数.原创 2022-04-23 10:00:22 · 439 阅读 · 0 评论