- 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-17力扣349.两个数组的交集
题目链接:349.两个数组的交集-力扣(LeetCode)给定两个数组 nums1 和 nums2 ,返回 它们的 交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例1:输入:nums1=[1,2,2,1],nums2=[2,2]输出:[2]示例2:输入:nums1=[4,9,5],nums2=[
- 2024-10-16必学的排序算法——冒泡排序
目录前言一、什么是冒泡排序二、冒泡排序的的基本步骤三、冒泡排序的特点四、冒泡排序算法图解五、经典例题1.合并两个有序数组代码题解2.元素计数代码题解3.最后一块石头的重量代码题解六、结语前言冒泡排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛可
- 2024-10-15【C/C++】速通某站上的经典“笔试”编程题
【C/C++】速通某站上的经典“笔试”编程题一.题目描述:解题思路:代码实现:二.题目描述:解题思路:代码实现:三.题目描述:解题思路:代码实现:一.题目描述:解题思路:将区间里面的数依次取模10(%)、除10,作用是大于等于10的数单独拆开(如123,依次拆开为3,2,1),判断是否等于2,如果
- 2024-10-13day37
最长公共子序列classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){vector<vector>dp(text1.size()+1,vector(text2.size()+1,0));for(inti=1;i<=text1.size();++i){for(intj=1;j<=text2.size();++j){if(text
- 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-27面试经典 150 题:力扣88. 合并两个有序数组
每周一道算法题启动题目【题目链接】【解法一】合并后排序排序后的数组自动省略0的数字,又学到了classSolution{public:voidmerge(vector<int>&nums1,intm,vector<int>&nums2,intn){//合并两个数组后排序for(inti=0;i<n;i++)
- 2024-09-22数据结构之线性表——LeetCode:80. 删除有序数组中的重复项 II,88. 合并两个有序数组,4. 寻找两个正序数组的中位数
80.删除有序数组中的重复项II题目描述80.删除有序数组中的重复项II给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用O(1)额外
- 2024-09-19小米9.14笔试
简单入门题第一题给出容量为N的背包、n个物品和c个体积为1的填充块,询问是否能够将背包刚好充满。价值与体积相同的0/1背包,结尾判断差值是否小于c#include<bits/stdc++.h>usingnamespacestd;intmain(){intT;cin>>T;while(T--){
- 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)\)代