- leetcode 2099. 找到和最大的长度为 K 的子序列
2099.找到和最大的长度为K的子序列特别注意,题目要求不改变原来的元素顺序我的代码classSolution{public:vector<int>maxSubsequence(vector<int>&nums,intk){vector<int>temp(nums);sort(temp.begin(),temp.end());intsize=t......
- 代码随想录算法训练营第十四天(统一迭代;LeetCode226.翻转二叉树;LeetCode101.对称二叉树
统一迭代LeetCode144.二叉树的前序遍历题目链接:二叉树的前序遍历题目链接代码/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval)......
- leetcode3208. 交替组 II
循环数组问题,指针问题代码比较好实现的,只需要对右端点维护,如果达到了>=k便可以被计数,循环数组可以两边循环做到点击查看代码classSolution{publicintnumberOfAlternatingGroups(int[]colors,intk){intn=colors.length;intans=0;......
- LeetCode移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:更改 nums 数组,使 nums 的前 k 个......
- LeetCode2 两数相加
LeetCode2两数相加题目链接:LeetCode2描述给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。示......
- LeetCode21 合并两个有序链表
LeetCode21合并两个有序链表题目链接:LeetCode21描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:l1=[1,2,4],l2=[1,3,4]输出:[1,1,2,3,4,4]思路方法一:迭代遍历两个列表,逐一比较时间复杂度:O(n+m)......
- LeetCode第31题:"下一个排列" C#篇
理解题意: 这道题大概的意思是,将nums数组换一个排列方式,但要求比当前排列要大并且是当前数组大的排列中最小的一种排列思路:相信很多人看到这题第一个会想到的思路是,我只需要将这个数组所有比当前数组大的排列都整理出来,再选出最小的那一个排列,此题可解很显然啊....这不是一......
- 【leetcode】括号生成 c++回溯法
22.括号生成 22.括号生成-力扣(LeetCode)数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]提示:1<=n<=8......
- LeetCode234 回文链表
LeetCode234回文链表题目链接:LeetCode描述给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。示例输入:head=[1,2,2,1]输出:true输入:head=[1,2]输出:false方法一思路首先找到链表的中间结点mid:如果链表有奇数个节......
- leetcode 53. 最大子数组和
53.最大子数组和给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。 法一1.假如全是负数,那就是找最大值即可,因为负数肯定越加越大。2.如果有正数,则肯定从正数开始计算和,不然前面有负值,......