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

怎么制作网站ping工具网站空间 购买

怎么制作网站ping工具,网站空间 购买,深圳网站建设公司的英文名是,wordpress站点实例不爱生姜不吃醋⭐️⭐️⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始#xff0c;不如现在行动#xff01; 文章目录 #x1f334;前言#x1f334;一.归并排序1.概念2.时间复杂度3.代码实现 #x1f334;二、小和问题1.概念2.举例3.代码实现 #x1f334… 不爱生姜不吃醋⭐️⭐️⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始不如现在行动 文章目录 前言一.归并排序1.概念2.时间复杂度3.代码实现 二、小和问题1.概念2.举例3.代码实现 三、逆序对问题1. 概念2. 举例3.代码实现 总结 前言 归并排序是建立在归并操作上的一种有效稳定的排序算法该算法是采用分治法Divide and Conquer的一个非常典型的应用。将已有序的子序列合并得到完全有序的序列即先使每个子序列有序再使子序列段间有序。若将两个有序表合并成一个有序表称为二路归并。 速度仅次于快速排序为稳定排序算法一般用于对总体无序但是各子项相对有序的数列。 一.归并排序 1.概念 申请空间使其大小为两个已经排序序列之和该空间用来存放合并后的序列 第二步设定两个指针最初位置分别为两个已经排序序列的起始位置 第三步比较两个指针所指向的元素选择相对小的元素放入到合并空间并移动指针到下一位置 重复步骤3直到某一指针超出序列尾 将另一序列剩下的所有元素直接复制到合并序列尾 2.时间复杂度 O(n log n) 3.代码实现 public class Example1 {public static void main(String[] args) {int[] arr {1, 5, 9, 3, 4, 6, 2, 7, 99, 2, 3, 7, 9, 5, 4,76};process(arr, 0, arr.length - 1);System.out.println(Arrays.toString(arr));}private static void process(int[] arr, int L, int R) {if (L R) {return;}int mid L ((R - L) 1);process(arr, L, mid);process(arr, mid 1, R);merge(arr, L, mid, R);}private static void merge(int[] arr, int L, int M, int R) {int[] temp new int[R - L 1];int i 0;int p1 L;int p2 M 1;while (p1 M p2 R) {temp[i] arr[p1] arr[p2] ? arr[p1] : arr[p2];}while (p1 M){temp[i]arr[p1];}while (p2 R){temp[i] arr[p2];}for (int j 0; j temp.length; j) {arr[Lj] temp[j];}} } 二、小和问题 1.概念 在一个数组中每一个数左边比当前数小的数累加起来叫做这个数组的小和。 2.举例 数组【13425】中 1左边比1小的数没有 3左边比3小的数1 4左边比4小的数1、3 2左边比2小的数1 5左边比5小的数1、3、4、2 所以小和为1131134216 3.代码实现 public class Example2 {public static void main(String[] args) {int[] arr {1, 3, 4, 2, 5};System.out.println(process(arr, 0, arr.length - 1));}private static int process(int[] arr, int l, int r) {if (l r) {return 0;}int mid l ((r - l) 1);int leftSum process(arr, l, mid);int rightSum process(arr, mid 1, r);return leftSum rightSum merge(arr, l, mid, r);}private static int merge(int[] arr, int l, int mid, int r) {int[] temp new int[r - l 1];int i 0;int p1 l;int p2 mid 1;int sum 0;while (p1 mid p2 r) {sum arr[p1] arr[p2] ? (r - p2 1) * arr[p1] : 0;temp[i] arr[p1] arr[p2] ? arr[p1] : arr[p2];}while (p1 mid) {temp[i] arr[p1];}while (p2 r) {temp[i] arr[p2];}for (int j 0; j temp.length; j) {arr[l j] temp[j];}return sum;} }三、逆序对问题 1. 概念 在一个数组中左边的数如果比右边的数大则这两个数构成一个逆序对。 2. 举例 在数组【32450】中 比3小的2、0 比2小的0 比4小的0 比5小的0 比0小的没有 所以该数组的逆序对共有5个 3.代码实现 public class Example3 {public static void main(String[] args) {int[] arr {3, 2, 4, 5, 0};System.out.println(process(arr, 0, arr.length - 1));}private static int process(int[] arr, int l, int r) {if (l r) {return 0;}int mid l ((r - l) 1);int leftR process(arr, l, mid);int rightR process(arr, mid 1, r);return leftR rightR merge(arr, l, mid, r);}private static int merge(int[] arr, int l, int mid, int r) {int[] temp new int[r - l 1];int i 0;int p1 l;int p2 mid 1;int sum 0;while (p1 mid p2 r){sum arr[p1] arr[p2] ? (mid - p1 1) : 0;temp[i] arr[p1] arr[p2] ? arr[p2] : arr[p1];}while (p1 mid){temp[i] arr[p1];}while (p2 r){temp[i] arr[p2];}for (int j 0; j temp.length; j) {arr[l j] temp[j];}return sum;} }总结 文章中代码的编写使用的都是Java基础知识多加练习熟能生巧。 本文中若是有出现的错误请在评论区或者私信指出我再进行改正优化如果文章对你有所帮助请给博主一个宝贵的三连感谢大家
http://www.hkea.cn/news/14436747/

相关文章:

  • 邯郸手机网站建设服务招聘小程序怎么制作
  • windows服务器网站权限c 做的网站怎么上传
  • 站长网百度云怎么找资源
  • 仿做网站的网站做直播网站vps可以吗
  • 最传统的网站推广手段如何在百度上发布自己的广告
  • 如何做网站走查文件服务器网站搭建教程
  • 装修网站效果图促进房地产市场健康发展
  • 域名备案网站建设书模板基础的网站建设
  • 模板网站没有源代码国家企用信用信息公示系
  • 搜索引擎优化作业门户网站怎么做seo
  • 购物网站哪个最好手机百度正式版
  • 专业建设特色亮点衡水网站优化推广
  • php网站开发用什么ide国家企业信息服务平台
  • 墙蛙网站谁家做的公司名称设计logo免费
  • 展示型企业网站制作费用稳定的网站建设
  • 少部分网站ie打不开这些网站域名ping不通在线小游戏
  • 网站开发毕设的需求分析北京市住房和城乡建设部官方网站
  • c2c电子商务网站定制开发网站建栏目建那些
  • 小众写作网站温州做网店的网站
  • 深圳专业建站公司有哪些游戏工作室网络组建方案
  • 北京网站制作网站医药外贸是做什么的
  • 龙港网站建设快速做课件的网站
  • 网站商城具有哪些功能模块vi设计的基本原则
  • 微信网站响应式网站合肥网络推广
  • 网站运营如何做东莞网络公司网络推广
  • 手机网站制作费用wordpress 关键词堆砌
  • 工作室网站免费建设郑州网站建设哪家公司便宜
  • 猴王水果竞猜网站建设微信小程序获取wordpress文章
  • 成功营销网站新公司网站建设
  • 义乌网站建设托管购物网站优惠券怎么做