当前位置: 首页 > news >正文

wordpress出不来安装界面上海有哪些优化网站推广公司

wordpress出不来安装界面,上海有哪些优化网站推广公司,怎么让百度收录网站所有网页,网站建设 技术要求相关专题 二分查找相关题目 题目 给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 示例 1:…

相关专题

二分查找相关题目

题目

给定两个以 非递减顺序排列 的整数数组 nums1 和 nums2 , 以及一个整数 k 。
定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。
请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。
示例 1:
输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3
输出: [1,2],[1,4],[1,6]
解释: 返回序列中的前 3 对数:
[1,2],[1,4],[1,6],[7,2],[7,4],[11,2],[7,6],[11,4],[11,6]
示例 2:
输入: nums1 = [1,1,2], nums2 = [1,2,3], k = 2
输出: [1,1],[1,1]
解释: 返回序列中的前 2 对数:
[1,1],[1,1],[1,2],[2,1],[1,2],[2,2],[1,3],[1,3],[2,3]
示例 3:
输入: nums1 = [1,2], nums2 = [3], k = 3
输出: [1,3],[2,3]
解释: 也可能序列中所有的数对都被返回:[1,3],[2,3]
参数范围:
1 <= nums1.length, nums2.length <= 105
-109 <= nums1[i], nums2[i] <= 109
nums1 和 nums2 均为升序排列
1 <= k <= 104

分析

本题还可以用多路归并。

时间复杂度

O(log(m)*o(n2))+O(k+n1)。m是nums1和nums2的最大值。n1是nums1的长度,n2是nums2的长度。

步骤

一,二分找到和第k小的数对的和right。
二,收集所有和小于right的数对,和等于right的数对只收集llEqualNum 对,GetLessEqualNum(nums1, nums2, right - 1)是少于right的数对数量。

GetLessEqualNum

此函数的作用:求和小于等于iSum数对数量。
std::upper_bound(nums2.begin(), nums2.end(), iSum - n)- nums2.begin(); 是数对(n,?) 之和小于等于iSum的数量。
注意: 返回值可能是1e10,超过int的返回,所以返回值用long long。

和第k小的数对的和

第一个符合以下的要求的iSum(符合要求的最小iSum) ,和小于等于iSum的数对数量大于等于k。

代码

核心代码

class Solution {
public:vector<vector<int>> kSmallestPairs(vector<int>& nums1, vector<int>& nums2, int k) {int left = nums1[0] + nums2[0] - 1, right = nums1.back() + nums2.back();while (right - left > 1){const auto mid = left + (right - left) / 2;if (GetLessEqualNum(nums1, nums2, mid) >= k){right = mid;}else{left = mid;}}long long llEqualNum = k - GetLessEqualNum(nums1, nums2, right - 1);vector<vector<int>> vRet;for (const auto& n : nums1){for (const auto n2 : nums2){if (n + n2 < right){vRet.emplace_back(vector<int>{n, n2});}else if ((n + n2 == right)&&(llEqualNum)){llEqualNum--;vRet.emplace_back(vector<int>{n, n2});}else{break;}}}return vRet;}long long GetLessEqualNum(const vector<int>& nums1, const vector<int>& nums2, int iSum){long long llNum = 0;for (const auto& n : nums1){llNum += std::upper_bound(nums2.begin(), nums2.end(), iSum - n)- nums2.begin();}return llNum;}
};

测试代码

template
void Assert(const T& t1, const T& t2)
{
assert(t1 == t2);
}

template
void Assert(const vector& v1, const vector& v2)
{
if (v1.size() != v2.size())
{
assert(false);
return;
}
for (int i = 0; i < v1.size(); i++)
{
Assert(v1[i], v2[i]);
}
}

int main()
{
vector nums1, nums2;
int k;
vector<vector> res;
{
Solution slu;
nums1 = { -10,-4,0,0,6 }, nums2 = { 3,5,6,7,8,100 };
k = 10;
res = slu.kSmallestPairs(nums1, nums2, k);
Assert(vector<vector>{ { {-10, 3}, { -10,5 }, { -10,6 }, { -10,7 }, { -10,8 }, { -4,3 }, { -4,5 }, { -4,6 }, { 0,3 }, { 0,3 }}}, res);
}
{
Solution slu;
nums1 = { 1,7,11 }, nums2 = { 2,4,6 };
k = 3;
res = slu.kSmallestPairs(nums1,nums2, k);
Assert(vector<vector>{ {1, 2}, { 1,4 }, { 1,6 }}, res);
}
{
Solution slu;
nums1 = { 1,1,2 }, nums2 = { 1,2,3 };
k = 2;
res = slu.kSmallestPairs(nums1, nums2, k);
Assert(vector<vector>{ {1, 1}, { 1,1 }}, res);
}
{
Solution slu;
nums1 = { 1,2 }, nums2 = { 3 };
k = 3;
res = slu.kSmallestPairs(nums1, nums2, k);
Assert(vector<vector>{ {1, 3}, { 2,3 }}, res);
}

//CConsole::Out(res);

}

扩展阅读

视频课程

有效学习:明确的目标 及时的反馈 拉伸区(难度合适),可以先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771

如何你想快

速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

相关下载

想高屋建瓴的学习算法,请下载《闻缺陷则喜算法册》doc版
https://download.csdn.net/download/he_zhidan/88348653

洒家想对大家说的话
闻缺陷则喜是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
墨家名称的来源:有所得以墨记之。
如果程序是一条龙,那算法就是他的是睛

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境:

VS2022 C++17

http://www.hkea.cn/news/676882/

相关文章:

  • 网站开发要注意安全性公司优化是什么意思
  • 河北邢台做移动网站开通网站需要多少钱
  • 天河网站建设多少钱淘宝关键词优化
  • 中型网站 收益关键词排名查询官网
  • 网站的弹窗是怎么做的谈谈对seo的理解
  • 广州网站制作费用宁波seo外包哪个品牌好
  • 河南高端网站建设广州网站优化页面
  • 企业可以备案几个网站南昌seo实用技巧
  • 网站用什么布局专业网站建设公司
  • 公司网站怎么做分录it培训机构学费一般多少
  • 如何将自己做的网页做成网站绍兴seo
  • 河南省住房与城乡建设厅网站首页怎么做属于自己的网站
  • 移动端网站开发推广效果最好的平台
  • 用二级页面做网站的源代码自助建站系统破解版
  • 网站上怎么做动画广告推广策略包括哪些内容
  • 广州网站优化公司大亚湾发布
  • 广州网站开发招聘百度经验悬赏令
  • 吴江建设局网站郑州粒米seo外包
  • 建设工程合同纠纷与劳务合同纠纷seo培训教程视频
  • 找网站建设公司哪家最好沈阳市网站
  • sh域名做的好的网站什么是营销
  • 网站平台怎么做推广一站式网络推广服务
  • 百度对新网站排名问题兰州seo快速优化报价
  • 网站建设常用代码湘潭网络推广
  • 做网站上传图片一直错误好用搜索引擎排名
  • 钟祥网站建设网络推广的含义
  • 新闻类网站源码青岛官网seo
  • 网站优化哪里可以做百度营销客户端
  • 常德建设局网站北京优化网站方法
  • 用ip做网站优化手机流畅度的软件