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

中国工程建设领域网站百度软文推广怎么做

中国工程建设领域网站,百度软文推广怎么做,建个企业网站,网站右侧浮动微信二维码剑指offer排序专题 jz3 数组中重复的数字描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[…

剑指offer排序专题

jz3 数组中重复的数字描述

在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1

数据范围:0≤n≤10000

进阶:时间复杂度 O(n) ,空间复杂度 O(n)

数组中重复的数字_牛客题霸_牛客网 (nowcoder.com)

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型一维数组 * @return int整型*/public int duplicate (int[] numbers) {// write code hereint s[] = new int[10005];for(int i = 0; i < numbers.length; i++){s[numbers[i]] += 1;if(s[numbers[i]] >= 2) return numbers[i];}return -1;}
}

桶排序,如果一个数出现两次则其对应下标的数组的值大于等于2

JZ51 数组中的逆序对描述

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007

数据范围: 对于 50% 的数据,size<=10e4
对于 100% 的数据, size≤10e5

数组中所有数字的值满足 0≤val≤10e9

要求:空间复杂度 O(n),时间复杂度 O(*nlogn)

题目保证输入的数组中没有的相同的数字

数组中的逆序对_牛客题霸_牛客网 (nowcoder.com)

public class Solution {private int P = 1000000007;public int InversePairs(int [] array) {long ans = merge_sort(array, 0, array.length - 1) % P;return (int)ans;}public long merge_sort(int[] arr, int left,int right) {if (left >= right) return 0;int mid = (left + right) >> 1;long res = merge_sort(arr,left,mid) + merge_sort(arr,mid + 1, right) % P;int[] temp = new int[right - left + 1];int idx = 0;int i = left;int j = mid + 1;while(i <= mid && j <= right){if(arr[i] <= arr[j]){temp[idx++] = arr[i++];}else {res += mid - i + 1;temp[idx++] = arr[j++];}}while(i <= mid){temp[idx++] = arr[i++];}while(j <= right){temp[idx++] = arr[j++];}for(int k = 0; k < idx; k++){arr[left + k] = temp[k]; }return res;}
}

简单的逆序对板子题

JZ40 最小的K个数描述

给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可)。

数据范围:0≤k,n≤10000,数组中每个数的大小0≤val≤1000

要求:空间复杂度 O(n) ,时间复杂度 O(nlogk)

最小的K个数_牛客题霸_牛客网 (nowcoder.com)

import java.util.ArrayList;
import java.util.*;
public class Solution {public ArrayList<Integer> GetLeastNumbers_Solution(int [] input, int k) {ArrayList<Integer> ans = new ArrayList<>();if(k == 0 || input.length == 0) return ans;Sort(input,0,input.length - 1,k);for(int i = 0; i < k; i++){ans.add(input[i]);}  return ans;    }private int Sort(int[] arr,int left,int right,int k){if(left >= right) return arr[left];int i = left - 1;int j = right + 1;int x = arr[(left + right) >> 1];while(i < j){do{i++;}while(arr[i] < x);do{j--;}while(arr[j] > x);if(i < j){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}int sl = j - left + 1;if(sl >= k) return Sort(arr,left,j,k);return Sort(arr,j + 1,right,k - sl);}
}

快速排序,板子题

JZ41 数据流中的中位数描述

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。

数据范围:数据流中数个数满足 1≤n≤1000 ,大小满足 1≤val≤1000

进阶: 空间复杂度 O(n) , 时间复杂度 O(nlogn)

数据流中的中位数_牛客题霸_牛客网 (nowcoder.com)

import java.util.*;
public class Solution {private List<Integer> heap = new LinkedList<Integer>();public void Insert(Integer num) {if(heap.size() == 0){heap.add(num);}else{int i = 0;for(; i < heap.size(); i++){if(heap.get(i) >= num) {break;}} heap.add(i,num);}}public Double GetMedian() {int n = heap.size();if((n % 2) == 1){return (double)heap.get(n / 2);}else {return ((double)heap.get(n / 2) + (double)heap.get((n / 2 - 1)))/2;}}}

开一个底层为链表的集合,每次插入时按顺序保持数据有序,求平均数时奇数取中心(n / 2),偶数取两数平均 ((n / 2) + (n / 2 - 1)) / 2, 切记要是double防止精度丢失。

http://www.yayakq.cn/news/741211/

相关文章:

  • 企业网站有哪些外包服务属于什么行业
  • 景区电子商务网站建设做设备租赁的网站
  • 教育培训网站设计seo查询工具源码
  • 中国空间站即将建成成都调查事务所
  • 共青城网站建设百度推广产品
  • 电商网站建设与运行阿里云服务器怎么放网站
  • 网站建设推广wordpress 社交链接
  • 最优的网站建设精湛的中山网站建设
  • 徐州建设工程交易网站国内十大舆情公司
  • 做棋牌推广网站违反不报社网站建设之思考
  • 网站搭建逻辑结构图网站做适配多少钱
  • 玉林市建设工程交易中心网站上海建设工程招投标网站
  • 免费插画素材网站长沙it公司排名
  • 标志设计logo网站保洁公司 网站模板
  • 营销型网站建设的特点表现wordpress调用指定的字段
  • 站长工具天美传媒网站推广策略ppt
  • 农林网站建设大型网页游戏开发
  • 重庆建设网站哪家专业邢台seo排名
  • 表单大师做网站怎么做网站的排名
  • 在哪个网站做失业分解网站建设实训实训心得
  • 建立网站卖没有版权的电子书网推所什么意思
  • 天津网站建设美丽金湖网站设计
  • asp做留言板网站seo挖关键词
  • 如何建一个网站wordpress 菜单调用
  • dw中网站建设的基本流程在阿里巴巴做网站多少钱2019
  • 网站后台分模块商标logo设计公司
  • 设计网站有没有版权企业网站建设 新闻宣传
  • 网站后台管理员密码济南市公共资源交易中心官网
  • 网站制作设及的技术校园二手市场网站开发
  • 上海国际建设总承包公司网站网站策划怎么做