日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P1059 [NOIP2006 普及组] 明明的随机数

發(fā)布時(shí)間:2023/12/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P1059 [NOIP2006 普及组] 明明的随机数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述
明明想在學(xué)校中請一些同學(xué)一起做一項(xiàng)問卷調(diào)查,為了實(shí)驗(yàn)的客觀性,他先用計(jì)算機(jī)生成了N個(gè)1到1000之間的隨機(jī)整數(shù)(N≤100),對于其中重復(fù)的數(shù)字,只保留一個(gè),把其余相同的數(shù)去掉,不同的數(shù)對應(yīng)著不同的學(xué)生的學(xué)號。然后再把這些數(shù)從小到大排序,按照排好的順序去找同學(xué)做調(diào)查。請你協(xié)助明明完成“去重”與“排序”的工作。
代碼

import java.util.*; public class luogu1059{public static void main(String args[]){Scanner sc = new Scanner(System.in);int n = sc.nextInt();//總數(shù)int[] ar = new int[1001];//默認(rèn)全部賦值為0for(int i = 0;i<n;i++){int index = sc.nextInt();//將隨機(jī)數(shù)轉(zhuǎn)變?yōu)閿?shù)組下標(biāo)ar[index] = 1;//去重}int count = 0;for(int j =1;j<1001;j++){if(ar[j] == 1)count++;//去重后的數(shù)量}System.out.println(count);for(int k =1;k<1001;k++){if(ar[k] == 1)//查找隨機(jī)數(shù)轉(zhuǎn)變的下標(biāo)System.out.print(k+" ");//由于從小到大遍歷,輸出下標(biāo)即是排序}} }

這個(gè)題的排序方法很巧妙,不像一般那樣將輸入的值保存在數(shù)組內(nèi),而是轉(zhuǎn)變?yōu)閿?shù)組下標(biāo),數(shù)組內(nèi)的值置1作為標(biāo)志位,遍歷時(shí)從小到大輸出下標(biāo)即完成了排序輸出。就是挺占用存儲空間的,分配了1001個(gè)內(nèi)存單元,而且遍歷了三次。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的P1059 [NOIP2006 普及组] 明明的随机数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。