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

做h的动漫在线观看网站广告推广系统

做h的动漫在线观看网站,广告推广系统,wordpress付费主题博客,兰州网站推广公司直接排序 直接使用Java已有的方法进行排序#xff0c;这一招…大意了#xff01; 这题简单#xff0c;就是个基本的排序#xff0c;后面难题#xff0c;可能这只是一小步#xff0c;内个时候直接用排序算法比较合适#xff0c;这个不合适。。 class Solution {public… 直接排序 直接使用Java已有的方法进行排序这一招…大意了 这题简单就是个基本的排序后面难题可能这只是一小步内个时候直接用排序算法比较合适这个不合适。。 class Solution {public void merge(int[] A, int m, int[] B, int n) {for(int i 0; i n; i){A[mi] B[i];}Arrays.sort(A);} }我们看看方法 这是一个更优的快速排序算法对于某些数据传统的快速排序可能会退化为二次方的事件复杂度而此算法会更快一些是O(n log(n))。 这种方式顶多算应用黑箱子没啥可以说的… 双指针 临时数组 我们可以对每个数组都添加一个索引指针依次对比两个数组的值让最小的进入临时数组比较之后把剩余的数直接放入临时数组最后临时数组再赋值给A。 leetcode的动图很好直接放出来链接。 双指针 class Solution {public void merge(int[] A, int m, int[] B, int n) {int[] temp new int[mn];int i 0; // array A pointerint j 0; // array B pointerint k 0; // array temp pointerwhile(i m j n){if(A[i] B[j]){temp[k] A[i];} else if(A[i] B[j]){temp[k] B[j];} }// 剩余部分while(i m){temp[k] A[i];}while(j n){temp[k] B[j];}k 0;i 0;while(k m n){A[i] temp[k];}} }这种方法实现起来很简单其实就是依次比较但是开辟新的数组再放回去就很麻烦。 同样的思路不同的实现方式 对于同样的逻辑代码写起来其实也不一定一样的我们看一看 逆向双指针 所以我们尝试一下在数组A直接动手脚利用数组A中后半部分的剩余空间看看可不可行 关键点A中的元素会不会被覆盖 我们可以从两数组的后面开始比较谁大将大的放进A的最后面。 这里我们列举极端例子 B中的元素全部比A中最大的还大 那么中的元素全部放入A的剩余空间中去显然没有问题 2. B的元素比A的元素都小 当然也能放进去。 最后我们看看中间状态也就是正常状态 很容易分析得出不管怎么样A中的剩余空间一定够用 因此写代码实现 class Solution {// 逆向双指针public void merge(int[] A, int m, int[] B, int n) {int ap m - 1;int bp n - 1;int final_pointer m n - 1;while(ap 0 bp 0){if(A[ap] B[bp]){A[final_pointer--] A[ap--];} else{A[final_pointer--] B[bp--];}}// 若A剩余就不用管了若B剩余都扔进去while(bp 0){A[final_pointer--] B[bp--];}} }或者可以 class Solution {// 逆向双指针public void merge(int[] A, int m, int[] B, int n) {int ap m - 1;int bp n - 1;int final_pointer m n - 1;while(bp 0){// 置换A的元素if(ap 0 A[ap] B[bp]){ // 注意顺序不要写反A[final_pointer--] A[ap--];} else {// 置换B的元素A[final_pointer--] B[bp--];}}} }后者写法简洁一些前者写法更加明了是继承解法二的思想。 我们用严格的方式再说明一下A不会被覆盖的问题。 我们只需要满足 A中可用的位置 A已经置换的数量 B已经置换的数量 因此我们分别表示一下 我们要求的是白格子的数量是 n - (pb 1) n - pb - 1pb是索引从0开始因此橙色一共pb 1个总数是n减一下就行了 A同理 m - pa - 1 当前数组A可插入数量应该是m n - pa - 1。 我们求的这三个数分别是在同一时刻 f1:A扔到A后面去的f2:B扔到A后面去的f3:A后面总共可以插入的元素不被覆盖的情况下 我们只需要验证f3 f1 f2恒成立即可 pa -1显然恒成立。
http://www.sadfv.cn/news/410392/

相关文章:

  • php做网站很快嘛优秀网站建设哪家好
  • 网站制作流程分为哪三步花瓣网 素材 图库
  • 中介做哪些网站wordpress文章分类目录进不去
  • php 显示不同网站内容域名免备案
  • 建设局网站招聘网络加速器
  • 信息技术网站建设青岛东八区创意做网站
  • 新华美玉官方网站在线做推进门户网站建设工作会议
  • 网站建设公司网站制作网站的制作流程有哪些步骤
  • 手机网站跳转做后台系统的网站
  • 台州网站seo外包wordpress应用下载主题
  • 口碑好的网站建设收费电子商务网站建设影响因素
  • 企业网站搭建南通做公司网站
  • 京东客网站怎么建设wordpress 4
  • 康县建设局网站wordpress 禁止加载js
  • 网站公司建设网站价格公司年前做网站好处
  • 网站开发工程师重庆微信网站开发
  • 建网站价格网什么是搜索引擎
  • 网站开发工程师和软件工程积分商城网站建设
  • 网站建设推广襄樊北京企业建站服务中企
  • wordpress站点主页怎么提交自己的网站
  • 河南省漯河建设局网站企业网站源码html
  • 小网站关键词搜什么如何做企业市场调研
  • 成都前十名传媒网站建设网络营销外包服务网
  • 如何注册一家公司要多少钱廊坊百度关键词优化怎么做
  • 福州做公司网站wordpress 电子杂志
  • 域名备案做电影网站大庆建设集团网站
  • 学生做网站教程Wordpress封面图片自动切换
  • 公司网站是怎么制作和维护的上海网站制作计划
  • 贵阳建设网站公司安卓页面跳转
  • 杭州新网站建设方案网页设计与制作教程第五版课后答案