草庐IT

leetCode

全部标签

IDEA的LeetCode力扣插件设置与使用(超详细)

目录一、下载插件二、插件配置注意三、插件使用  欢迎大家来学习和使用LeetCode力扣插件!!!        这几天准备刷算法题,突然发现了IDEA插件商城里面有LeetCode力扣的插件,于是就下载下来尝试着使用了一下,发现用着很方便,尤其是对于我们这种经常使用IDEA编程工具的这部分来说,是非常的节省时间。插件的具体样式如下图所示:        像这样的插件,点击想要刷的题,右边会自动弹出题目要求和代码编译器。直接在右边写算法代码了,不需要再去浏览器中搜索网址进行算法题的编写和学习。例如:我们点击最基础的 两数之和 来做一个示范,如下图所示:        像这样的插件如何使用呢,接

第1天-代码随想录刷题训练| 704二分查找、26移除元素

文章目录1.二分查找7042.移除元素2.1数组理论基础2.2暴力解法2.3双指针解法1.二分查找704原题链接给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。错误笔记:边界条件设置为了right>left,导致只有一个元素的时候会判断错误定义不一样的区间就需要设置不同的边界条件,right和left每次循环更新也不相同左闭右闭:right=size-1;left左闭右开:right=size;left//左闭右闭写法classSolution{public:intsearch(vector&

第1天-代码随想录刷题训练| 704二分查找、26移除元素

文章目录1.二分查找7042.移除元素2.1数组理论基础2.2暴力解法2.3双指针解法1.二分查找704原题链接给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。错误笔记:边界条件设置为了right>left,导致只有一个元素的时候会判断错误定义不一样的区间就需要设置不同的边界条件,right和left每次循环更新也不相同左闭右闭:right=size-1;left左闭右开:right=size;left//左闭右闭写法classSolution{public:intsearch(vector&

leedcode刷题记录 | 代码详解

目录1.最长回文子串题目:代码:2.N字形变换题目:代码:3.整数翻转题目:代码:4.字符串转换整数题目代码:5.回文数题目:1.最长回文子串题目:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s=“babad”输出:“bab”解释:“aba”同样是符合题意的答案。示例2:输入:s=“cbbd”输出:“bb”动态规划的特性:后续的计算可以使用之前的计算结果空间换时间本题回文串本身就具有动态规划的特性代码:stringlongestPalindrome(strings){intn=s.size(); //单个字符直接返回(特殊

leedcode刷题记录 | 代码详解

目录1.最长回文子串题目:代码:2.N字形变换题目:代码:3.整数翻转题目:代码:4.字符串转换整数题目代码:5.回文数题目:1.最长回文子串题目:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例1:输入:s=“babad”输出:“bab”解释:“aba”同样是符合题意的答案。示例2:输入:s=“cbbd”输出:“bb”动态规划的特性:后续的计算可以使用之前的计算结果空间换时间本题回文串本身就具有动态规划的特性代码:stringlongestPalindrome(strings){intn=s.size(); //单个字符直接返回(特殊

python实现+leetcode题+合并两个有序列表超详细流程图分析以及代码思路

合并两个有序列表一.需求:二.示例测试三.实现流程图四.代码实现五.代码思路六.测试结果一.需求:给你两个按非递减顺序排列的整数列表nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n二.示例测试示例1:输入:nums1=[1,2,3,0,0,0],m=3,nums2=[2,5,6],n=3输出:[1,

python实现+leetcode题+合并两个有序列表超详细流程图分析以及代码思路

合并两个有序列表一.需求:二.示例测试三.实现流程图四.代码实现五.代码思路六.测试结果一.需求:给你两个按非递减顺序排列的整数列表nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n二.示例测试示例1:输入:nums1=[1,2,3,0,0,0],m=3,nums2=[2,5,6],n=3输出:[1,

【再谈动态规划】

动态规划前缀最值121.买卖股票的最佳时机后缀最值1299.将每个元素替换为右侧最大元素前缀最值变形1014.最佳观光组合前缀+后缀最值42.接雨水结语前缀最值121.买卖股票的最佳时机给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,最大利润=6-1=

【再谈动态规划】

动态规划前缀最值121.买卖股票的最佳时机后缀最值1299.将每个元素替换为右侧最大元素前缀最值变形1014.最佳观光组合前缀+后缀最值42.接雨水结语前缀最值121.买卖股票的最佳时机给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=1)的时候买入,在第5天(股票价格=6)的时候卖出,最大利润=6-1=

【leetcode】Top-k问题

目录1.面试题17.14. 最小K个数解题思路2.前K个高频元素解题思路3.前K个高频单词解题思路TOP-K问题:即求数据集合中前K个最大的元素或者最小的元素,一般情况下数据量都比较大。比比如:专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。对于Top-K问题,能想到的最简单直接的方式就是排序,但是:如果数据量非常大,排序就不太可取了(可能数据都不能一下子全部加载到内存中)。最佳的方式就是用堆来解决,基本思路如下:1.用数据集合中前K个元素来建堆 前k个最大的元素,则建小堆前k个最小的元素,则建大堆2.用剩余的N-K个元素依次与堆顶元素来比较,不满足则替换堆顶元素将剩余N-K个