题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。输入:输入可能包含多个测试样例。对于每个测试案例,输入的第一行为一个整数m (10 ; i-- ){ ...
分类:
其他好文 时间:
2014-06-28 22:46:04
阅读次数:
318
Cpp代码 QStringi="iTest";//currentfile'snumberQStringtotal="totalTest";//numberoffilestoprocessQStringfileName="fileNameTest";//currentfile'snameQString...
分类:
其他好文 时间:
2014-06-20 18:53:26
阅读次数:
208
var Arr = [5,6,1,2,3];//var minValue =
Math.min.apply(null,Arr);//apply方法可直接求出数组中的最小值var minIndex =
$.inArray(minValue,Arr);//inArray求最小数在数组中的序列号 固定方法...
分类:
其他好文 时间:
2014-06-16 06:39:20
阅读次数:
185
题目:
链接:点击打开链接
题意:
输入n个点,要求选m个点满足连接m个点的m-1条边权值和sum与点的权值和ans最小,即sum/ans最小,并输出所选的m个点,如果有多种情况就选第一个点最小的,如果第一个点也相同就选第二个点最小的........
求一个图中的一颗子树,使得Sum(edge weight)/Sum(point weight)最小~
数据...
分类:
其他好文 时间:
2014-06-14 07:05:34
阅读次数:
350
题目的意思是对于一个n位数,删除m个位后,得到的最小数是什么,比如12345 2,删除两个位,得到最小的就是123.实际上这题目解法很多,好像有贪心,线段树,RMQ等,因为我最近在学习RMQ,所以就用RMQ了。
这题目用了一个鸽巢原理,得到的m-n位数的第一位,必然出现在1~m-n+1,这个由鸽巢原理就十分明显了(如果1~n-(m-n)+1都没有的话,剩下的m-n-1个位是不可能凑出m-n个位的...
分类:
其他好文 时间:
2014-06-09 23:40:43
阅读次数:
315
求一个数组中的最大值和最小值,我们一般的做法是扫描一遍数组求的最大值,扫描一遍数组求最小值,这样做需要比较2N次才能求解。而实际上我们可以比较1.5N次即可得到结果。考虑如下几种方法。
方法一:
我们可以把数组分成两部分,首先按照顺序将数组中的相邻的两个数分在同一组,接着比较同一组中奇数位上的值和偶数位上的值,将较大的放在偶数位上,较小的放在奇数位上,这样经过0.5N次比较后,最大数肯定在偶数位上,最小的数肯定在奇数位上,而后分别扫描一遍数组的偶数位和奇数位,便可得到最大值和最小值。这样,...
分类:
其他好文 时间:
2014-06-08 14:42:42
阅读次数:
212
【面试题033】把数组排成最小的数题目:
输入一个正整数数组,把数组里所有数字拼接起来排成一个数, 打印能拼接出的所有数字中最小的一个。 例如输入数组{3, 32,
321},则打印出这3个数字能排成的最小数字321323。思路一: 最直观的想法是求出所有数字的全排列,然后取最小值即可, ...
分类:
其他好文 时间:
2014-05-27 00:09:21
阅读次数:
334
题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行为一个整数n(1#...
分类:
其他好文 时间:
2014-05-23 04:33:32
阅读次数:
263
编程题:用函数调用实现,求两个数中的最小数。#include<stdio.h>voidmain(){floatmin(floatx,floaty);/*函数定义在调用的函数之后,要先声明*/floata=3,b=4.1;printf("%.1f\n",min(a,b));printf("%.1f\n",min(5,a*b));printf("%.1f\n",min(b-1,min(a,b)));}floatmin(flo..
分类:
其他好文 时间:
2014-05-21 01:46:13
阅读次数:
305
编程题:全局的使用。求最大数、最小数和平均值。#include<stdio.h>intNum,Max,Min;intaverage(intarray[]){inti,array_aver=array[0];Max=Min=array[0];for(i=1;i<Num;i++){if(array[i]>Max)Max=array[i];if(array[i]<Min) Min=array[i]; array_aver+=array[i..
分类:
其他好文 时间:
2014-05-20 23:01:56
阅读次数:
331