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

泉州最专业微信网站建设开发win7系统优化软件

泉州最专业微信网站建设开发,win7系统优化软件,建设区块链网站,深圳市企业网站seo营销工具目录 一,题目 二,题目接口 三,解题思路和代码 全部代码: 一,题目 给定两个数组nums1和nums2,nums1相对于nums2的优势可以用满足nums1[i]>nums2[i]的索引i的数目来描述。 返回nums1的任意排序,使其优…

目录

一,题目

二,题目接口

三,解题思路和代码

全部代码: 


一,题目

给定两个数组nums1和nums2,nums1相对于nums2的优势可以用满足nums1[i]>nums2[i]的索引i的数目来描述。 返回nums1的任意排序,使其优势最大化。

示例 1:

输入:nums1 = [2,7,11,15], nums2 = [1,10,4,11]
输出:[2,11,7,15]

示例 2:

输入:nums1 = [12,24,8,32], nums2 = [13,25,32,11]
输出:[24,32,8,12]

二,题目接口

class Solution {
public:vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2) {}
};

三,解题思路和代码

 这道题运用的思想其实就是一种博弈思想,在历史上便是有名的田忌赛马问题的思想。

这个田忌赛马思想是这样的:

    1. 首先将田忌的马分为上,中,下等,王上的马分为上,中,下等。

     2.然后再来一个赛马,赛马的思路是这样的:

     我的下等马肯定比不过王上的下等马,所以我的下等马比不过王上的任何一匹马。 这个时候我便用我这条马把王上的上等马拖死。然后我再用我的上等马和王上的中等马赛马,再用我的中等马和王上的下等马赛马。这样我们便可以赢两场,取得赛马的总胜利。

将这个思想运用到我们这道题里面便是这样的一个步骤:

    首先以下面的示例为例:

输入:nums1 = [12,24,8,32],

           nums2 = [13,25,32,11]

输出:[24,32,8,12]

首先,我们先把nums2的下标给插入到数组Index当中。插入后是这样子的:

Index[0,1,2,3]。

 然后,根据nums2的元素大小来对这个下标数组中的元素进行排序。

排序后便成了这个样子:

Index[3,0,1,2]。

然后,我们再定义一个pos指向nums1的元素,left指向Index的最左元素,right指向Index的最右元素。

然后便是如下的在ret数组中的插入逻辑:

 while(pos<nums1.size())//pos代表nums1的下标{if(nums1[pos]<=nums2[index[left]])//当nums1中选择的元素比nums2[]中的元素小的时候,就插入到ret[index[right]]的位置,这个下标处存放的是nums2的最大值。{ret[index[right]] = nums1[pos++];right--;//指向nums2的次大值下标}else{ret[index[left]] = nums1[pos++];//能赢便放在和nums2相对的下标处left++;//指向次小值的下标}}

全部代码: 

class Solution {
public:vector<int> advantageCount(vector<int>& nums1, vector<int>& nums2) {vector<int>index;//下标数组vector<int>ret(nums1.size());//结果数组for(int i = 0;i<nums2.size();i++){index.push_back(i);//将nums2的下标依次插入}sort(index.begin(),index.end(),[&](int i,int j)//并且根据nums数组中的元素的大小比较规则将这个下标数组中的元素排序。{return nums2[i]<nums2[j];});sort(nums1.begin(),nums1.end());//将nums1排序int left = 0,right = nums1.size()-1;//指向index数组的左右两端的元素int pos = 0;//指向排序后的nums的下标while(pos<nums1.size()){if(nums1[pos]<=nums2[index[left]])//在ret中找到合适的位置插入nums1[pos]{ret[index[right]] = nums1[pos++];right--;}else{ret[index[left]] = nums1[pos++];left++;}}return ret;//返回结果}
};
http://www.dtcms.com/wzjs/419735.html

相关文章:

  • 壹佰网站建设太原百度关键词排名
  • wordpress没有安装主题百度seo网站优化服务
  • 广东省网站设计与开发商品促销活动策划方案
  • 网站程序代码优化淘宝关键词搜索
  • 搜狗提交网站收录入口营销策划推广公司
  • 公司做的网站入哪个会计科目友链交换不限内容
  • 做的网站有广告图片交换链接营销
  • 镇江网站设计烟台网络推广
  • 朋友让你做网站如何拒绝友链购买网
  • 怎么做带后台的网站seo薪酬水平
  • 国内永久在线免费建站东莞网络推广招聘
  • 广州户外拓展靠谱的seo收费
  • 汽车电子商务网站建设规划书建站之星官网
  • 怎么用hbuilder做网站湖南网络推广排名
  • 网站建设的可行性分析报告怎么建网站
  • 顺的网站建设信息短视频矩阵seo系统源码
  • 嘉兴公司的网站设计网络销售推广平台
  • 网站建设与管理用什么软件有哪些内容seo如何优化关键词
  • 做网站用的pm是啥西安百度竞价推广
  • 有没有必要为B2B网站做外链seosem是什么职位
  • pc端网站建设相关查阅资料什么叫做优化
  • 网站建设公司重庆国外网站怎么推广
  • 如何进行企业营销型网站建设规划百度的推广方式有哪些
  • 做国外的营销的网站广告宣传方式有哪些
  • 网站的关于我们怎么做产品推广运营方案
  • 怎样给一个公司做网站改版中国推广网
  • 学做饼干的网站优化大师网页版
  • 网站建设与小程序开发熊掌号网络营销网站
  • 营销型网站怎么做抖来查关键词搜索排名
  • 怎么在虚拟空间做两个网站湖南长沙seo