草庐IT

Leetcode6

全部标签

【Leetcode】【每日一题】【中等】1465. 切割后面积最大的蛋糕

力扣(LeetCode)官网-全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界IT名企DreamOffer。https://leetcode.cn/problems/maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts/description/?envType=daily-question&envId=2023-10-27矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中: horizontal

代码随想录 Day35 动态规划04 01背包问题和完全背包问题 LeetCode T416 分割等和子集

背包问题说到背包问题大家都会想到使用动规的方式来求解,那么为什么用动规呢,dp数组代表什么呢?初始化是什么,遍历方式又是什么,这篇文章笔者将详细讲解背包问题的经典例题0-1背包问题和完全背包问题的解题方式,希望能帮助到大家1.暴力方式有人一提到背包问题就只会使用动态规划来做,那么背包问题假如让你使用暴力求解该如何解决呢?我们以0-1背包为例,每个物品是不是只有两种状态?放或者不放,我们可以遍历所有方式,使用回溯来解决问题.0-1背包问题解决方式(二维数组)动规五部曲1.明白dp数组的含义此处dp[i][j]表示的就是从[0,i]个物品中任选,用容量为j的背包能装的最大价值.2.数组的初始化和递

【算法|动态规划No.19】leetcode413. 等差数列划分

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【手撕算法系列专栏】【LeetCode】🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助🍓希望我们一起努力、成长,共同进步。目录1️⃣题目描述2️⃣题目解析3️⃣解题代码1️⃣题目描述如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7]和[3,-1,-5,-9]都是等差数列。给你一个整数数组nums,返回数组nums中所有为等差数组的子数组个数。子数组是数组中的一个连续序列。示例1:输入:nums=[1

【Leetcode刷题(数据结构)】:三路划分与三数随机取中的思想实现快速排序的再优化

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止//假设按照升序对array数组中[left,right)区间中的元素进行排序voidQuickSort(intarray[],intleft,intright){if(right-left1)return;//按照基准值对array数组的[left,right)区间中的元素进行划分intdiv=partion

代码随想录Day36 动态规划05 LeetCode T1049最后一块石头的重量II T494 目标和 T474 一和零

前言:动规五部曲理论基础 : 代码随想录Day34LeetCodeT343整数拆分T96不同的二叉搜索树-CSDN博客1.明白dp数组的含义2.明白递推公式的含义3.初始化dp数组4.注意dp数组的遍历顺序5.打印dp数组排错LeetCodeT1049最后一块石头的重量II题目链接:1049.最后一块石头的重量II-力扣(LeetCode)题目思路:这题我们仍然采用动规五部曲来写,这题和昨天的那一道分割等和子集类似,我们先对数组求和得到sum,然后取其的一半+1作为dp数组的大小,最后我们只需要求得sum/2作为容量的背包能装的最大容量,用sum减去两倍的dp[sum/2]即可,有人问为什么这

Leetcode循环队列(数组实现及链表实现)

这道题十分考验我们对队列的理解。文章目录队列的介绍队列的实现进入正题数组的方法链表实现队列的介绍 队列是一种只允许在一段进行插入,在另一端进行删除的数据操作的特殊线性结构,,因此决定了他具有先入先出的特点,其中进行插入操作的一段叫做队尾,出队列的一端叫做队头。队列的实现 队列可以使用链表或者数组进行实现,对于这两种实现方法,使用链表实现效果更好一点,两个指针中front为链表的头,即队列的队头,出数据的话只需要找到front的下一个假设为pre,将front销毁,front置为pre即可,如果是用数组的结构的话,出队列在数组头上出数据,效率会很低。链表实现队列代码如下Queue.h#pragm

LeetCode 热题 HOT 100

🔥LeetCode热题HOT1001.两数之和(简单-哈希表)√√classSolution{public:vectortwoSum(vector&nums,inttarget){unordered_mapumap;for(inti=0;i2.两数相加(中等-模拟题-数学)√√重点是当有一个链表为空了不单独处理,按节点为0处理。classSolution{public:ListNode*addTwoNumbers(ListNode*l1,ListNode*l2){ ListNode*preHead=newListNode(-1),*r=preHead; intflag=0; whi

(LeetCode)使用Vscode编译运行和调试C/C++及体验优化

一、安装visualstdiocode1、首先在微软官网下载并安装好visualstdiocode2、因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此首先需要安装一个C/C++编译器并且设置环境变量,这里使用mingw-w64。二、安装mingw-w64 因为网络问题mingw-w64很难下载,建议先离线下载然后手动添加环境变量 离线版下载地址:Downloadx86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z(MinGW-w64-for32and64bitWindows)1.下载后选一个合适的位置解压,解压后的文件结构如下: 2.

算法leetcode|86. 分隔链表(rust重拳出击)

文章目录86.分隔链表:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:86.分隔链表:给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有小于x的节点都出现在大于或等于x的节点之前。你应当保留两个分区中每个节点的初始相对位置。样例1:输入: head=[1,4,3,2,5,2],x=3 输出: [1,2,2,4,3,5]样例2:输入: head=[2,1],x=2 输出: [1,2]提示:链表中节点的数目在范围[0,200]内-100-200分析:面对这道算法题目,二当家的再次陷入了沉思。直接模拟即可,题目没有特别说明对空间复杂度

算法leetcode|47. 全排列 II(rust重拳出击)

文章目录47.全排列II:样例1:样例2:提示:分析:题解:rustgoc++cpythonjava47.全排列II:给定一个可包含重复数字的序列nums,按任意顺序返回所有不重复的全排列。样例1:输入: nums=[1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]]样例2:输入: nums=[1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1-10分析:面对这道算法题目,二当家的陷入了沉思。要做全排列,回溯是大方向。有重复的数字,又要不重复的排列,去重是必须的了。要求是对排列去重,但是也可