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

金融适合什么颜色做网站指数基金是什么意思

金融适合什么颜色做网站,指数基金是什么意思,2022中国企业排行榜,德德模板网站建设步骤逆序对 题目 给定一个数组,求其中有多少逆序对,要求时间复杂度不超过nlogn。 思路 使用归并排序的分治思想,将数组递归地分为左右两部分。在合并两个有序子数组时,若左侧数组中的某个数大于右侧数组中的某个数,则可…

逆序对

题目

给定一个数组,求其中有多少逆序对,要求时间复杂度不超过nlogn。

思路

  • 使用归并排序的分治思想,将数组递归地分为左右两部分。
  • 在合并两个有序子数组时,若左侧数组中的某个数大于右侧数组中的某个数,则可以确定该左侧数组中的这个数和右侧数组中当前及其后的所有元素形成逆序对。
  • 递归合并的过程中,统计所有逆序对的数量。

代码

 private static int countInversions(int[] num) {int left = 0, right = num.length - 1;int[] temp = new int[num.length];return countSum(num,temp,left,right);}private static int countSum(int[] num, int[] temp, int left, int right) {if(left>=right){return 0;}int mid = left + (right - left) / 2;int count = countSum(num,temp,left,mid);count=count+countSum(num,temp,mid+1,right);count=count+countNum(num,temp,left,mid,right);return count;}private static int countNum(int[] num, int[] temp, int left, int mid,int right) {int i=left,j=mid+1;int k=0,count=0;while(i<=mid&&j<=right){if(num[i]<num[j]){temp[k++]=num[i++];}else{temp[k++]=num[j++];count = count+(mid-i+1);}}while(i<=mid){temp[k++]=num[i++];}while(j<=right){temp[k++]=num[j++];}for(int p=left;p<=right;p++){num[p]=temp[p];}return count;}

均衡

题目

这是一个通过移动数组元素值实现尽量“均衡”的问题。目标是使数组中元素尽量相等,或者趋于相同的范围。每次只能移动 1 单位,只能移动相邻的数组。

例如数组【1,4,6】,下标为1的数组元素4,可以移动移动一单位给1或者6,将数组变为【2,3,6】或者【1,3,7】。

要求数组达到【3,4,4】,数组顺序不限。

思路

直接一个模拟

  1. 不断调整相邻的元素,逐步趋近于配平。
  2. 打印每次移动的过程,直到达到平衡或接近平衡。

代码

public static void balanceArray(int[] arr) {int moves = 0;int n = arr.length;while (!isBalanced(arr)) {for (int i = 0; i < n - 1; i++) {if (arr[i] < arr[i + 1]) {arr[i]++;arr[i + 1]--;moves++;printArray(arr, moves);}else if (arr[i] > arr[i + 1]) {arr[i]--;arr[i + 1]++;moves++;printArray(arr, moves);}}}System.out.println("Total moves: " + moves);}private static boolean isBalanced(int[] arr) {int total = Arrays.stream(arr).sum();int remainder = total % arr.length;int first = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] != first&&Math.abs(first-arr[i])>remainder) {return false;}}return true;}private static void printArray(int[] arr, int step) {System.out.println("Step " + step + ": " + Arrays.toString(arr));}

http://www.zhongyajixie.com/news/41208.html

相关文章:

  • 西安网站建设官网广州seo推广运营专员
  • 做货运代理网站百度搜索排名怎么做
  • 优化网站浏览量怎么看做百度推广销售怎么样
  • 遂昌赶街网站seo专员是什么
  • 做网站的教学视频域名信息查询网站
  • 网站开发 价格分类信息网站平台有哪些
  • 怎么样在网站文章最后做超链接百度入口网站
  • wordpress 认证证书seo顾问合同
  • 手游游戏推广平台app关键词优化
  • 网上推广工作对seo的理解
  • 日本插画网站有哪些seo英文怎么读
  • 商丘建设委员会官方网站徐州网页关键词优化
  • 易语言和网站做交互网络推广有多少种方法
  • 做兼职的网站中央新闻频道直播今天
  • 网站开发实训周志推广项目
  • 建筑网站的特点seo流量增加软件
  • 网站怎么做外链知乎seo网站关键词快速排名
  • 河南海华工程建设监理公司网站磁力狗bt
  • 企业网站源码挣钱吗网络竞价
  • seo站长工具查询上海外贸seo公司
  • 企业网站建设服务哪家好注册一个域名需要多少钱
  • 网站建设基本内容盘古百晋广告营销是干嘛
  • 大学加强网站建设与管理的通知宣传推广方式
  • 网站建设计划方案什么是关键词排名优化
  • 织梦网站地图如何做关键词seo优化
  • 网站开发环境与工具软文新闻发布平台
  • 做网站电话中央电视台新闻联播
  • 做网站用什么web服务器怎么在百度上设置自己的门店
  • 网站建设报价兴田德润在哪里台州seo优化公司
  • 在手机上建设网站教程网站seo推广