最快kO(n)~O(n),将前K个数放入一个k的数组中,按序放,对K+1到N的数,依次如果比K数组总的小,将K中最大的取出,放入最小的数,一直维持K个,最后就是最小的K个。
import javautilArrays;
/先给数值里的值进行从小到大排序,取从0到k-1索引的数组值
@创建一个数组,包含11个元素,求5个最小的数
@author Administrator
public class ArrayTest {
public static void main(String[] args) {
//最小元素的个数
int k=5;
//创建一个数组,
int[] arr = {1,3,45,33,67,12,88,11,46,32,89};
// *** 作数组的工具Arrays,sort()方法自动排序,由小到大
Arrayssort(arr);
for(int i=0;i<k;i++){
Systemoutprintln(arr[i]);
}
扩展资料:
此处数组是程序中声明的变量数组。它们不同于控件数组,控件数组是在设计时通过设置控件的 Index 属性规定的。变量数组总是连续的;与控件数组不同的是,不能从一个数组的中部加载或卸载数组元素。
一个数组中的所有元素具有相同的数据类型(在C、C++、Java、pascal中都这样。但也并非所有涉及数组的地方都这样,比如在Visual Foxpro中的数组就并没这样的要求)。当然,当数据类型为 Variant 时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。可以声明任何基本数据类型的数组,包括用户自定义类型和对象变量。
参考资料来源:百度百科-数组
@param substring 某字符串
@param source 源字符串数组
@return 包含则返回true,否则返回false/
public static boolean isIn(String substring, String[] source) {
if (source == null || sourcelength == 0) {
return false;}
for (int i = 0; i < sourcelength; i++) {
String aSource = source[i];
if (aSourceequals(substring)) {
可以使用includes()函数,需要es6支持。
比如字符串数组为var arr = ['sadf','asdf','aa','bb'];
现在要判断arr中是否存在字符串var str = 'aa';
arrincludes(str);
如果存在,则返回true,反之返回false。
如果不使用es6,也可以先将字符串数组使用join()函数转换为字符串,然后使用indexOf()函数进行查找。
双循环,把数组中的每一个值都拿来做比较、判断!!1
public static boolean containArray(int[] a, int[] b) {
boolean flag = false;
int k = 0;
/
统计b中包含a中的元素是否与a的元素个数相同
/
if (alength < blength) {
for (int i = 0; i < alength; i++) {
for (int j = 0; j < blength; j++) {
if (a[i] == b[j]) {
k++;
Systemoutprintln(a[i] +"/"+ b[j]);
continue;
}
}
}
}
if (k == alength) flag = true;
return flag;
}
以上就是关于用JAVA语言编译:数组中包含n个整数,从其中找出k个最小的数,写出你能想到的最快的方法!!!全部的内容,包括:用JAVA语言编译:数组中包含n个整数,从其中找出k个最小的数,写出你能想到的最快的方法!!!、JAVA判断字符串数组中是否包含某字符串元素、java中怎么判断一个字符串数组中包含某个字符或字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)