一道3G门户的面试题 (Java)

给一个大小为100的(整型)数组,分配0-1000的随机数100个,但这100个数不能重复,然后把它从小到大排序,并输出来。(时间10分钟)

Java代码如下:
 


package org.lxh.demo16.common;

import java.util.Random;

/**

 * implement file: Tfrk.java

 * desc: 给一个大小为100的(整型)数组,分配0-1000的随机数100个,

 * 但这100个数不能重复,然后把它从小到大排序,并输出来。(时间10分钟)

 * @author hemmingway <hemmingway@163.com>

 *

 */

public class Tfrk {

/**

 * @param args

 */

public static void main(String[] args) {

// TODO Auto-generated method stub

//采用插入排序法, 产生一个随机数就插入,插入的过程排除重复数字的插入即可

Random random = new Random();

int[] arrayList = new int[101];

int len;  //动态记录已分配的数组长度

int j;

//initialization

arrayList[0] = Math.abs(random.nextInt() % 1000);

len = 1;

while(true){

int numMath.abs(random.nextInt() % 1000); 

for(j = len-1; j > -1 && num < arrayList[j]; j--) ;

//检查重复的数字

if( (j == -1 ) || ( j > -1 && num > arrayList[j]) ){

for(int tmp = len-1; tmp > jtmp-- ){

arrayList[tmp+1] = arrayList[tmp];

}

arrayList[j + 1] = num;

    len++;

}

     

//随机分配100个后,就跳出,不再分配

    if (len > 99) break;

// end while(true)

      

//打印输出

for (int i = 0; i < 100; i++){

   System.out.println"arrayList[" + i + "]: " + arrayList[i]);

 }

}

}



C语言代码

// Test_rnd.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include <stdio.h>

#include <time.h>

#include <stdlib.h>

int main(int argccharargv[])

{

int arrayList[100]; 

int len;   //动态记录已分配的数组长度

int j;

srand((unsigned)time(NULL));

//initialization

memset(arrayList, 0, sizeof(arrayList)/sizeof(arrayList[0]));

arrayList[0] = rand() % 1000;

len = 1;

while(true) {

int numrand() % 1000; 

for(j = len-1; j > -1 && num < arrayList[j]; j--) ;

//检查重复的数字

if( (j == -1 ) || ( j > -1 && num > arrayList[j]) ){

for(int tmp = len-1; tmp > jtmp-- ){

arrayList[tmp+1] = arrayList[tmp];

}

arrayList[j + 1] = num;

len++;

}

//随机分配个后,就跳出,不再分配

if (len > 99)  break;

// end while(true)

//print

for (int i = 0; i<100; i++)

{

printf("arrayList[%d]: %d\n",i,arrayList[i]);

}

return 0;

}



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

他是我们内心世界的一员 (见信息时报2011年7月10日)

上世纪八十年代&#xff0c;弗洛伊德的理论刚刚进入中国的时候&#xff0c;他的书夸张地说“要比今天周杰伦演唱会的票更抢手”。当时&#xff0c;《精神分析引论》&#xff08;商务印书馆出版&#xff09;、《少女杜拉的故事》&#xff08;民间文艺出版社出版&#xff0c;后北…

IE 10的新HTML​解析规则​

HTML 5的重要变化之一是引入了针对非标准HTML特别是错误格式HTML的标准化解析规则。浏览器在遇到存在错误的HTML如缺少结束标记时通常表现得很宽松。这种大度被广受赞誉&#xff0c;因为相比对手XHTML来说&#xff0c;HTML​在此种情况下会继续正常处理。​\u0026#xD;\nHTML最新…

VHDL中的函数

VHDL中的函数 (1)函数的一般形式 函数的一般形式如下: 函数定义 is 函数说明部分 begin 函数语句部分 end [函数类型] [函数名] 在函数定义部分,要说明函数名、函数的参数及返回的类型; 函数说明部分,有类似于进程语句的说明区,说明变量、常量和类型,但不能说明信号;…

乱七八糟的备份

package org.lxh.demo16.common;//import java.awt.List; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.Map; import java.util.Random;/*** implement file: Tfrk.java* desc: 给一个大小为100的&#xff08;整型&#xff09;…

造化之美与美的忧虑

苏珊桑塔格说&#xff1a;“收集照片就是收集世界。”我以为摄影就是一种收集&#xff0c;摄影师将世间万物凝固并收藏在小小的镜头里和照片中&#xff0c;为自己和历史留下记忆。当然&#xff0c;摄影还有一种审视的功能&#xff0c;它帮助我们发现生活中的美和残缺&#xff0…

MDK编译生成bin文件

fromelf --bin -o “$LL.bin” “#L” 把这一行复制到User -> After Build/Rebuild -> Run #1后面

Windows Azure SDK 1.6让Visual Studio下的Azure开发更高效

微软已发布Windows Azure SDK 1.6&#xff0c;其中包括适用于Visual Studio 2010的Windows Azure Tools、以及适用于.NET的Windows Azure Libraries两项更新&#xff0c;除此之外其中还包括另外一些修复和性能改进。\u0026#xD;\n微软发布适用于Visual Studio 2010的Windows Azu…

VHDL中的分辨函数

VHDL中的分辨函数 分辨函数(resolved function)是VHDL语言中具有代表性的一类函数,本例是一个线或(WiredOr)分辨函数。 分辨函数的功能 根据驱动器件工艺的不同,有多个驱动源的信号可以表现为竞争信号的“或”关系或者“与”关系,分辨函数就是为了解决这一问题而设计的…

阿里云物联网平台,三要素生成hmacmd5,hmacsha1和hmacsha256,password算法+hashmd5,hashsha1,hashsha256算法

程序在ubuntu上测试通过 测试函数&#xff1a; #include "infra_md5.h" #include "infra_sha1.h" #include "infra_sha256.h"#include <stdio.h> #include <string.h>void aliyun_generate_sign_str(const char *client_id, const…

Java入门:冒泡排序

package org.lxh.demo16.common;import java.util.Random;public class BubbleSort {static void print(int a[]){for(int i 0; i < a.length; i)System.out.print(a[i] " ");System.out.println("");}//冒泡排序int[] sort(int a[]){int n a.length…

《花落红尘》:对两性社会非爱即恨的文学消解

李素红是个我比较陌生的女作家&#xff0c;读了她的《花落红尘》&#xff08;作家出版社2011年版&#xff09;&#xff0c;我非常惊讶。据说作者是搞书法的&#xff0c;且成绩斐然&#xff0c;还有自己的公司&#xff0c;她的写作几乎是在业余时间。由此我想到了“文坛外高手”…

VHDL中的转换函数

VHDL中的转换函数 转换函数有两个形式参数:需要转换的整型数number及该整数的长度len。返回值则为经过转换以后的一个七值逻辑位向量。 (1)转换函数源描述 function I2B(Number : integer; len : integer) return MVL7_VECTOR isvariable temp : MVL7_VECTOR(len - 1 dow…

我们需要好看的流行小说

看了汪文勤的《冰酒窝》&#xff0c;我想起了港台的言情小说&#xff0c;也想到欧美的流行小说。我很多年前就说过&#xff0c;中国大陆的当代文学缺少真正的流行小说&#xff0c;。所说的流行&#xff0c;绝对没有贬义&#xff0c;更没有贬低《冰酒窝》的意思&#xff0c;因为…

QT写了个阿里云小工具,设备证书生成阿里云mqtt连接参数

阿里云平台一键复制的设备证书&#xff0c;或者在下方单独填写。支持md5&#xff0c;sha1&#xff0c;sha256。 链接&#xff1a;https://pan.baidu.com/s/1A3vkQFajqW_VB1mXIa_urQ 提取码&#xff1a;6666

少数民族青年作家要有更高的标准和目标

今天我在《文艺报》发表的文章。http://www.chinawriter.com.cn/bk/2011-12-05/58254.html

写论文的笔记

写论文的笔记 怎么使得跨页表格连接起来?选中表格并点击鼠标右键,在弹出的选项中点击“表格属性”选项->然后在打开的表格属性对话框中选择“行”选项,将“允许跨页断行”的勾选取消,点击确定->然后在设置后的跨页的位置双击两个页面中间的空白区域->即可将上下页…

使用MQTT.fx接入阿里云物联网平台

官方有教程&#xff1a;https://help.aliyun.com/knowledge_detail/86706.html 这里仅提供个第三方工具&#xff1a; https://blog.csdn.net/zn2857/article/details/118099278 工具说明&#xff1a;mqttPassword是通过mqttSign字符串计算出来的。 如图&#xff0c;点击OK后&…

CMFCToolBar插入组合框

刚在CSDN博客上面看到一篇文章,讲解VS2008中的新类CMFCToolBar的使用, 其中有个关于插入组合框的部分居然要修改MFC的源代码, 文章链接 http://blog.csdn.net/chenjelly/article/details/6718478 这里贴出正确的插入方法: 1. MainFrm.h, 声明变量 CMFCToolBarComboBoxButton…

VHDL中的左移函数

VHDL中的左移函数 原描述如下 function SHL (v2 : MVL7_VECTOR; fill : MVL7) return MVL7_VECTOR isvariable v1 : MVL7_VECTOR(v2 HIGH downto v2 LOW);vaiable shift_val : MVL7_VECTOR(v1 HIGH downto v1 LOW);variable I : integer; beginv1 : v2;--变量v1先保存参数v2的…