【LeetCode】每日一题 2024_6_4 将元素分配到两个数组中 II(二分、离散化、树状数组)
文章目录 LeetCode?启动!!!题目:将元素分配到两个数组中 II题目描述代码与解题思路 每天进步一点点 LeetCode?启动!!! 又有段时间没写每日一题的分享了,原本今天是打算早上发完晨起计划之后发的,但是今天太忙了,忙着忙着一直没时间把文章写完,拖着拖着就拖到晚上了 只能在晚上离散数学的课上悄摸摸写完发了 题目:将元素分配到两个数组中 II 题目链接:将元素分配到两个数组中 II 题目描述 代码与...
【LeetCode刷题】前缀和解决问题:742.寻找数组的中心下标、238.除自身以外数组的乘积
【LeetCode刷题】Day 15 题目1:742.寻找数组的中心下标思路分析:思路1:前缀和思想 题目2:238.除自身以外数组的乘积思路分析思路1:前缀和思想 题目1:742.寻找数组的中心下标 思路分析: 其实题干说的很明白了,就是在表述,某个位置的前半部分数组和与后半部分数组和的结果相同,就是中心下标。 这里明显就是前缀和来求解。 思路1:前缀和思想 前半部分的和与后半部分的和分别用:前缀和f数组,后...
【LeetCode刷题】专题三:二分查找模板
【LeetCode刷题】Day 11 专题三:二分查找模板:1. 朴素二分模板:2. 区间左值模板:3. 区间右值模板: 题目1:704. 二分查找思路分析:思路1:朴素二分查找O(logN) 题目2:34. 在排序数组中查找元素的第一个和最后一个位置思路分析:思路1:区间左右值二分查找 O(logN) 专题三:二分查找模板: 根据题干分析,根据二分性,划分区间,得出二分最重要的几个要点: 判断条件:while...
leetcode-07-[344]反转字符串[541]反转字符串II[卡码网54]替换数字
一、[344]反转字符串 class Solution { public void reverseString(char[] s) { int left=0,right=s.length-1; while(left<right){ char tmp=s[left]; s[left]=s[right]; s[right]=tmp; left++; right--; } }} 二、[541]反转字符串II 重点: ...
【LeetCode:2391. 收集垃圾的最少总时间 + 二分】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ 二分🥦 求解思路🥦 实现代码🥦 运行结果 💬 共勉 🚩 题目链接 2391. 收集垃圾的最少总时间 ⛲ 题目描述 给你一个下标从 0 开始的字符串数组 garbage ,其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 ‘M’ ,‘P’ 和 ‘G’ ,但可能包含多个相同字符,每个字符分别表示一单位的金...
LeetCode 力扣题目:买卖股票的最佳时机 III
题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4 天(股价 = 0)的时候买入,在第 6 天(股价 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。 ...
LeetCode 126题:单词接龙 II
题目描述 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列的转换过程,转换需遵循如下规则: 每次转换只能改变一个字母。转换过程中的中间单词必须在字典 wordList 中。 说明: 如果不存在这样的转换序列,返回一个空列表。所有单词具有相同的长度。所有单词只包含小写字母。字典 wordList 是非空的,且不包...
LeetCode //C - 81. Search in Rotated Sorted Array II
ed at some pivot. − 1 0 4 < = t a r g e t < = 1 0 4 -10^4 <= target <= 10^4 −104<=target<=104 From: LeetCode Link: 81. Search in Rotated Sorted Array II Solution: Ideas: Initialization: We start with two poin...
LeetCode题目104: 二叉树的最大深度(递归\迭代\层序遍历\尾递归优化\分治法实现 )
题目描述 给定一个二叉树,找出其最大深度。 最大深度是从根节点到最远叶子节点的最长路径上的节点数。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 最大深度是 3。 方法一:递归 解题步骤 如果节点为空,返回深度 0。递归计算左子树的最大深度。递归计算右子树的最大深度。返回左右子树深度的最大值加一(当前节点的深度)。 Python 示例 class ...
LeetCode //C - 87. Scramble String
ts: s1.length == s2.length1 <= s1.length <= 30s1 and s2 consist of lowercase English letters. From: LeetCode Link: 87. Scramble String Solution: Ideas: 1. Recursive Definition: We want to define a function is...