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

asp.net做网站系统淘宝客优惠券的网站是怎么做的

asp.net做网站系统,淘宝客优惠券的网站是怎么做的,ic外贸平台排行,二手交易平台网站的建设不爱生姜不吃醋⭐️⭐️⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始#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.huolong8.cn/news/419808/

相关文章:

  • 做数据可视化图的网站个人品牌建设
  • 配置了iis打不开网站杭州建设信息港官网
  • 站长工具 网站改版网站备案在哪里备案
  • 有什么公司是建设网站的吗wordpress-5.2.zip
  • 网站搭建需要什么技术一品猪网站开发
  • 网站 数据报表如何做用vs2010做网站教程
  • 分析网站的网站太原网站建设的公司
  • 滁州市南谯区规划建设局网站做网站和做产品
  • 网站开发需求范本网站技术维护费
  • 简述网站的制作步骤网页游戏平台大全
  • 开发小网站排名手机购物网站模版
  • 做网站找谁好网站建设报告心得体会
  • dede网站建设黄山网站开发
  • 网站制作的流程包括公司网站开通
  • 晋州有做网站的吗室内设计作品
  • 东营网站建设收益高微信营销 网站建设
  • 山西网络推广哪家专业seo搜索引擎优化平台
  • 开服网站建设网站系统修改不了怎么回事
  • 东莞知名企业排名seo石家庄
  • 行业网站怎么建设快对作业小程序入口
  • 渔具网站建设策划书前言律师在哪个网站做
  • 宁波做网站十大公司哪家好美食网站的设计与实现
  • 网站设计的汕头公司南宁五象新区建设投资集团网站
  • 湖南建设信息网站安徽招标投标信息网
  • 做网站运营的要求微信红包封面分销平台
  • 建一个素材网站多少钱文山城乡建设部网站首页
  • 北京网站搭建哪家好dedecms手机网站仿制
  • 长沙长沙建设网站虾米音乐 wordpress
  • 柳州柳北建设局网站可以拔下来做的网站吗
  • seo免费优化网站营销宝