草庐IT

LeetCode题2两数相加

全部标签

算法沉淀——动态规划之子序列问题(上)(leetcode真题剖析)

算法沉淀——动态规划之子序列问题01.最长递增子序列02.摆动序列03.最长递增子序列的个数04.最长数对链01.最长递增子序列题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为

代码随想录算法训练营第七天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和,总结

每天要做运动哦。目录 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和 总结   454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开发也是这样。题目链接/文章讲解/视频讲解:代码随想录题目:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i,j,k,l) 能满足:0nums1[i]+nums2[j]+nums3[k]+nums4[l]==0思路:这次试一

LeetCode35. 搜索插入位置(C++)

LeetCode35.搜索插入位置题目链接代码题目链接https://leetcode.cn/problems/search-insert-position/代码classSolution{public:intsearchInsert(vectorint>&nums,inttarget){intleft=0;intright=nums.size()-1;while(leftright){intmiddle=left+(right-left)/2;if(nums[middle]>target){right=middle-1;}elseif(nums[middle]target){left=mid

LeetCode704. 二分查找(C++)

LeetCode704.二分查找题目链接代码题目链接https://leetcode.cn/problems/binary-search/description/代码classSolution{public:intsearch(vectorint>&nums,inttarget){intleft=0;intright=nums.size()-1;while(leftright){intmiddle=left+(right-left)/2;if(nums[middle]>target){right=middle-1;}elseif(nums[middle]target){left=middle+

leetcode:491.递增子序列

1.误区:不能直接对数组排序再求解子集,因为那样就改变了原有数组的顺序2.树形结构:一个一个取数,然后保证是递增序列,且不能重复。(数层上不可以重复取,树枝上可以重复取)收集的结果不光是叶子节点。所以注意两点:数层节点去重、满足递增条件3.代码实现:(去重方法:记录本层递归用到了哪些元素,不要重复)

算法训练第5天|哈希表理论基础 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

什么是哈希表哈希表是根据关键码的值而直接进行访问的数据结构。哈希表的使用场景一般哈希表都是用来快速判断一个元素是否出现集合里。C++中哈希表的使用方式数组、集合set、映射map242.有效的字母异位词力扣链接题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false说明: 你可以假设字符串只包含小写字母。思路:定义一个数组叫做record用来上记录字符串s里字

算法沉淀——动态规划之子数组、子串系列(上)(leetcode真题剖析)

算法沉淀——动态规划之子数组、子串系列01.最大子数组和02.环形子数组的最大和03.乘积最大子数组04.乘积为正数的最长子数组长度01.最大子数组和题目链接:https://leetcode.cn/problems/maximum-subarray/、给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8

算法沉淀——动态规划之简单多状态 dp 问题(下)(leetcode真题剖析)

动态规划之简单多状态dp问题01.买卖股票的最佳时机含冷冻期02.买卖股票的最佳时机含手续费03.买卖股票的最佳时机III04.买卖股票的最佳时机IV01.买卖股票的最佳时机含冷冻期题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/给定一个整数数组prices,其中第prices[i]表示第*i*天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。**注意:**你不能同时

代码随想录训练营第13天 | LeetCode 239. 滑动窗口最大值、​​​​​​LeetCode 347.前 K 个高频元素、总结

目录LeetCode239. 滑动窗口最大值文章讲解:代码随想录(programmercarl.com)视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口最大值_哔哩哔哩_bilibili思路​​​​​​LeetCode347.前 K 个高频元素文章讲解:代码随想录(programmercarl.com)视频讲解:手把手带你学会操作链表|LeetCode19.删除链表的倒数第N个节点_哔哩哔哩_bilibili思路总结LeetCode239. 滑动窗口最大值文章讲解:代码随想录(programmercarl.com)视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口

代码随想录-Day02 | LeetCode977.有序数组的平方、LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II

文档讲解:代码随想录视频讲解:《代码随想录》算法公开课-跟着Carl学算法LeetCode977.有序数组的平方题目链接:977.有序数组的平方思路:拿到这道题第一想法是利用暴力解法,先循环遍历对给定数组中的每个元素进行平方,然后再利用双层for循环遍历把数组中的元素按递增顺序进行依次排序,很明显这种解法代码运行效率极低。classSolution{publicint[]sortedSquares(int[]nums){//给定递增排序数组返回每个数字的平方同时要求也是按照递增排序//1.遍历数组中的元素for(inti=0;inums.length;i++){//2.元素平方//3.组成新数