下载此文档

算法分析经典算法题.doc


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
+B的值:#include<>intmain(){inta,b;cin>>a>>b;cout<<a+b<<endl;},找最大值:第一行为整数n,表示n个数。第二行输入n个整数。输出最大值import;lassMain{publicstaticvoidmain(String[]args)throwsException{Scannerinput=newScanner();intn=();intarr[]=newint[n];for(inti=0;i<n;i++){arr[i]=();}intmax=arr[0];for(inti=1;i<n;i++){if(arr[i]>max){max=arr[i];}};}},n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x和y的值才能使士兵们以最少的总移动步数排成一列。计算使所有士兵排成一行需要的最少移动步数。输入:第1行是士兵数n,1?n?10000。接下来n行是士兵的初始位置,每行2个整数x和y,-10000《=x,y《=10000。输出:第1行中的数是士兵排成一行需要的最少移动步数。#include<iostream>#include<cmath>#include<algorithm>usingnamespacestd;intmain(){intn;intx[10000],y[10000],z[10000];while(cin>>n){for(inti=0;i<n;i++)cin>>x[i]>>y[i];sort(x,x+n);sort(y,y+n);intmidy=y[(n+1)/2-1];for(inti=0;i<n;i++)x[i]-=i;sort(x,x+n);intmidx=x[(n+1)/2-1];inttotal=0;for(inti=0;i<n;i++)total+=abs(x[i]-midx)+abs(y[i]-midy);cout<<total<<endl;}return0;}中位数:设X[0:n-1]和Y[0:n-1]为两个数组,每个数组中含有n个已排好序的数。试设计一个O(logn)时间算法,找出X和Y的2n个数的中位数。输入:第一行:n,为x和y数组的元素个数第二行:x数组的n个数,用空格分隔第三行:y数组的n个数,用空格分隔输出:中位数两个,用空格分隔import;lassMain{publicstaticvoidmain(String[]args)throwsException{Scannerinput=newScanner();intn=();intarr1[]=newint[n];intarr2[]=newint[n];for(inti=0;i<n;i++){arr1[i]=();}for(inti=0;i<n;i++){arr2[

算法分析经典算法题 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人在水一方
  • 文件大小34 KB
  • 时间2019-05-15
最近更新