- 2024-11-154. 寻找两个正序数组的中位数
题目链接解题思路用双指针,或者辅助数组的方法这里就不过多解释了,现在说最优解。我们可以利用两个数组「有序」的特点,找到其中位数。直接举例子,假设其中一个数组nums1是[1,3,5,7,9],另一个数组nums2是[2,4,6,8],中位数我们先人工算出来,是5,也就是整体的第5小的数,也就
- 2024-11-08力扣88.合并两个有序数组
为了将nums2的数放到nums1后面,可以将nums1的m个数和nums2的n个数进行比较,按照从大到小的顺序从右向左放入nums1中。最后输出的数组共有m+n个元素,所以最后一个元素的下标为k=m+n-1。每次k--,都要num1[m[和nums2[n]比较,大的数放到nums1[k],同时m--或n--。因为m与n不一定相等,所以
- 2024-11-05Leecode热题100-4.寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log(m+n)) 。示例1:输入:nums1=[1,3],nums2=[2]输出:2.00000解释:合并数组=[1,2,3],中位数2示例2:输入:nums1=[
- 2024-10-24【leetcode-面试经典 150 题】-1.合并两个有序数组
题目:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1
- 2024-10-21【贪心算法】(第六篇)
目录按⾝⾼排序(easy)题目解析讲解算法原理编写代码优势洗牌(⽥忌赛⻢)(medium)题目解析讲解算法原理编写代码按⾝⾼排序(easy)题目解析1.题目链接:.-力扣(LeetCode)2.题目描述给你⼀个字符串数组names,和⼀个由互不相同的正整数组成的数组heights。两个数组的⻓度
- 2024-10-20代码随想录算法训练营 | 739. 每日温度,496.下一个更大元素 I ,503.下一个更大元素II
739.每日温度题目链接:739.每日温度文档讲解︰代码随想录(programmercarl.com)视频讲解︰每日温度日期:2024-10-20想法:遍历一遍数组,用栈来存数组下标做记录,因为要找更高得温度,当当前遍历的温度大于栈头存储(存的下标)的温度时,就可以知道栈头要过多少天遇到高温,低的时候直接入栈。J
- 2024-10-17力扣349.两个数组的交集
题目链接:349.两个数组的交集-力扣(LeetCode)给定两个数组 nums1 和 nums2 ,返回 它们的 交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[
- 2024-10-15【C/C++】速通某站上的经典“笔试”编程题
【C/C++】速通某站上的经典“笔试”编程题一.题目描述:解题思路:代码实现:二.题目描述:解题思路:代码实现:三.题目描述:解题思路:代码实现:一.题目描述:解题思路:将区间里面的数依次取模10(%)、除10,作用是大于等于10的数单独拆开(如123,依次拆开为3,2,1),判断是否等于2,如果
- 2024-10-12454_四数相加Ii
454_四数相加Ii【问题描述】给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例一:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2
- 2024-10-12454_四数相加Ii
454_四数相加Ii【问题描述】给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0示例一:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2
- 2024-10-113164. 优质数对的总数 II
给你两个整数数组nums1和nums2,长度分别为n和m。同时给你一个正整数k。如果nums1[i]可以被nums2[j]*k整除,则称数对(i,j)为优质数对(0<=i<=n-1,0<=j<=m-1)。返回优质数对的总数。示例1:输入:nums1=[1,3,4],nums2=[1,3,4],k=1输出:5解释:5
- 2024-10-10每日算法 88.合并两个有序数组 - Lcode
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了
- 2024-10-103162. 优质数对的总数 I
给你两个整数数组nums1和nums2,长度分别为n和m。同时给你一个正整数k。如果nums1[i]可以被nums2[j]*k整除,则称数对(i,j)为优质数对(0<=i<=n-1,0<=j<=m-1)。返回优质数对的总数。示例1:输入:nums1=[1,3,4],nums2=[1,3,4],k=1输出:5解释:5
- 2024-09-22数据结构之线性表——LeetCode:80. 删除有序数组中的重复项 II,88. 合并两个有序数组,4. 寻找两个正序数组的中位数
80.删除有序数组中的重复项II题目描述80.删除有序数组中的重复项II给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用O(1)额外
- 2024-09-19【LeetCode Hot 100】4. 寻找两个正序数组的中位数
题目描述要求出两个数组的中位数,第一想法当然是将这两个数组进行归并排序,然后直接得到排序后长数组的中位数。由于本题的两个数组都是排序后的数组,因此省去了排序的步骤。这种方法的时间复杂度为\(O(m+n)\),空间复杂度由于要存储排序后的长数组,所以也是\(O(m+n)\)。有没有相对更
- 2024-09-182321. 拼接数组的最大分数
题目链接2321.拼接数组的最大分数思路最大子数组和-变体题解链接转换成最大子数组和(Python/Java/C++/Go)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:classSolution:defmaximumsSplicedArray(self,nums1:List[int],nums2:Lis
- 2024-09-16LeetCode题集-4 - 寻找两个有序数组的中位数,图文并茂,六种解法,万字讲解
题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。作为目前遇到的第一个困难级别题目,我感觉这题还是挺难的,研究了三天总算研究明白了,下面就给大家分享一下这题的几种解法,请
- 2024-09-16[Python手撕]归并排序
classSolution:defsortArray(self,nums:List[int])->List[int]:defmerge(nums1,nums2):ifnotnums1andnotnums2:returnNoneifnotnums1:returnnums2ifnotnums2
- 2024-09-15496. 下一个更大元素 I(leetcode)
https://leetcode.cn/problems/next-greater-element-i/description/根据校验nums2中的元素是否存在于nums1中的时机分为不同做法classSolution{publicint[]nextGreaterElement(int[]nums1,int[]nums2){Deque<Integer>st=newArrayDeque<>();
- 2024-09-14每日OJ_牛客_NC313 两个数组的交集
目录牛客_NC313 两个数组的交集解析代码牛客_NC313 两个数组的交集两个数组的交集_牛客题霸_牛客网classSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可***@paramnums1int整型vec
- 2024-09-101818. 绝对差值和
题目链接1818.绝对差值和思路排序+二分题解链接运用「二分」找最佳替换方案关键点转换为查找最小值delta:对nums1进行排序后,从中二分查找nums2[i]的最接近值(考虑到绝对值,需要检查left&right两个位置)时间复杂度\(O(n\logn)\)空间复杂度\(O(n)\)代
- 2024-09-08LeetCode //C - 350. Intersection of Two Arrays II
350.IntersectionofTwoArraysIIGiventwointegerarraysnums1andnums2,returnanarrayoftheirintersection.Eachelementintheresultmustappearasmanytimesasitshowsinbotharraysandyoumayreturntheresultinanyorder. Example1:
- 2024-09-071143. 最长公共子序列(leetcode)
https://leetcode.cn/problems/longest-common-subsequence/description/经典题,老题回顾classSolution{publicintlongestCommonSubsequence(Stringtext1,Stringtext2){//f[i][j]表示所有在第一个序列前i个数中选择,在第二个序列前j个数中选择得到的最长
- 2024-09-07718. 最长重复子数组(leetcode)
https://leetcode.cn/problems/maximum-length-of-repeated-subarray/难点是在于状态定义,需要考虑到以第i个数为结尾,以第j个数为结尾的最长重复子数组这样的定义而递推就很简单,只需要发生重复时+1即可,和之前的一维的,即最长子数组一样classSolution{publicintfind