当前位置: 首页 > 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.yutouwan.com/news/410392/

相关文章:

  • 专业网站建设模板下载网页设计和网站开发哪个好
  • python 做网站 数据库百度官网网站首页
  • 吴忠网站建设公司阿里云oss做视频网站
  • 台前网站建设公司wordpress 七牛视频教程
  • 漯河做网站他达拉非片和西地那非片的区别
  • 网站备案工作怎么做购物网站的购物车
  • 织梦做的网站后台登录中小企业网站建设市场
  • 什么网站做的好查询网站ftp地址
  • 电子政务网站建设的特点医疗器械注册证查询
  • 网站备案 阿里云自己做家具展示网站
  • 深圳官方网站新闻网络推广软件排行
  • 检测网站死链自媒体wordpress主题
  • 怎样用阿里云服务器做网站wordpress 网站积分打赏
  • 网站建设的用例图西安高端网页制作
  • yfcms企业网站建设网站建设工作建议
  • 成功案例 品牌网站网站建设制作pdf
  • 开源网站统计百度普通收录
  • 唐山建设局网站seo关键词优化是什么意思
  • 山东做公司网站dede做招聘网站
  • ip查询网站备案查询做公司+网站建设
  • 无锡网站开发泉州网站开发企业
  • 网站建设需求信息付费阅读小说网站开发建设源码
  • 招聘网站如何建设深圳最新通告今天
  • 黔东南网站开发gzklyy网站建设开源代码
  • 推广网站的图片怎么做建设项目招标网站
  • flash网站源文件下载网站 数据库
  • 做网站运营很累吧做免费网站怎么做
  • 免费做淘宝联盟网站东莞松山湖华为招聘信息
  • 博罗网站建设公司可信赖的做网站
  • 微信绑定网站网站建设单选题