1. 程式人生 > >L1-2. 點贊(多組資料中判斷出現次數最多的數)

L1-2. 點贊(多組資料中判斷出現次數最多的數)

題目

L1-2. 點贊

  微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支援。每篇博文都有一些刻畫其特性的標籤,而你點讚的博文的型別,也間接刻畫了你的特性。本題就要求你寫個程式,通過統計一個人點讚的紀錄,分析這個人的特性。 
輸入格式: 
    輸入在第一行給出一個正整數N(<=1000),是該使用者點讚的博文數量。隨後N行,每行給出一篇被其點讚的博文的特性描述,格式為“K F1 ... FK”,其中 1<=K<=10,Fi(i=1, ..., K)是特性標籤的編號,我們將所有特性標籤從1到1000編號。數字間以空格分隔。 

    輸出格式:

    統計所有被點讚的博文中最常出現的那個特性標籤,在一行中輸出它的編號和出現次數,數字間隔1個空格。如果有並列,則輸出編號最大的那個。 

    輸入樣例:

    4
    3 889 233 2
    5 100 3 233 2 73
    4 3 73 889 2
    2 233 123

    輸出樣例:

    233 3

程式碼解析

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner io=new Scanner(System.in);
        //該陣列用於存放1000個標籤的出現次數情況,索引為標籤的標號
        int flag[] =new int[1001];
        //記錄出現最大的次數
        int count=0;
        //記錄出現最大的次數的標籤號
        int value=0;
        //輸入的行數
int n=io.nextInt(); /* * nextInt()只會接受Int數值,但是每次你按回車之後都會在末尾加入一個\n * 下一行的nextLine()就會讀取之前數字末尾的\n,導致直接跳過你要讀的資料 * 故在nextDouble,nextInt等和nextLine相接的地方加上nextLine,吞掉換行符, */ io.nextLine(); for(int i=1;i<=n;i++) { //以行讀入資料
String str=io.nextLine(); //獲得一個存有該行資料的字串陣列,注意該陣列的第一個元素是指該行特性標籤的個數,遍歷時不需要遍歷 String[] sz=str.split(" "); for(int j=1;j<sz.length;j++) { int temp=Integer.parseInt(sz[j]);//讀取每個標籤號 flag[temp]++; //與當前最大值進行比較 if(flag[temp]>count) { count=flag[temp]; value=temp; } //如果與當前最大值相等,取最大值 if(flag[temp]==count&&temp>value)value=temp; } } System.out.println(value+" "+count); } }

相關推薦

L1-2. 資料判斷出現次數的數

題目 L1-2. 點贊   微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支援。每篇博文都有一些刻畫其特性的標籤,而你點讚的博文的型別,也間接刻畫了你的特性。本題就要求你寫個程式,通過統

PTA天梯賽練習集 L1-034 20 分

題目描述: 微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支援。每篇博文都有一些刻畫其特性的標籤,而你點讚的博文的型別,也間接刻畫了你的特性。本題就要求你寫個程式,通過統計一個人點讚的紀錄,分析這個人的特性。 輸入格式: 輸入在第一行給出一個正整數N(≤

PTA 團體程式設計天梯賽-練習集 L1-034 20 分C語言

L1-034 點贊(20 分) 微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支援。每篇博文都有一些刻畫其特性的標籤,而你點讚的博文的型別,也間接刻畫了你的特性。本題就要求你寫個程式,通過統計一個人點讚的紀錄,分析這個人的特性。 輸入格式: 輸入在第一行給出一個

微信openid和UnionID 公眾號如何判斷是否是同一人

data 平臺開發 反饋 更新 font 使用 -c 總數 org 以下內容源於網絡,因為非博客園信息,有想收藏,只能直接復制粘貼了,還希望原稿人員理解。 微信公眾平臺更新,為開發者提供UnionID機制 經開發者反饋,由於同一公司下多個公眾號之間需要用戶帳號互通,

如何在有限的記憶體的情況下,找到大量資料重複查詢次數的語句

//500K記憶體,100萬條資料,尋找裡面重複查詢次數最多的記錄 //思想顯示對100萬條資料分在不同的檔案中,但是在分檔案中的時候,要對起進行一定處理,分到對於的檔案中,比如分成100個 //檔案,那麼對每一條string進行hash得到的整數值%100,這樣就分到不同

求一個字符串連續出現次數的子串

article 規律 生成 clu 一次 strong tor first sub 題目:求一個字符串中連續出現的次數最多的子串。 例如,字符串“abababc”,最多連續出現的為ab,連續出現三次。 思路: 例如字符串“abababc”,最多連續出現的為ab,連續出現

陣列尋找出現次數的一個數

//第一種方法 #include #include<stdlib.h> using namespace std; //以空間換取時間 //時間複雜度分析2n1+2n2 //空間複雜度為n2 int search(int* a, int len) {

js統計html標籤出現次數的標籤

思路:要統計標籤出現的次數,首先肯定要獲取html中的標籤,然後再統計各個標籤出現的次數。因為不能一下子獲得所有的標籤,所以只能先獲得根元素,然後通過獲取它的子元素來進行統計。 很久沒有用原生js了,所以誤以為childNodes是獲得當前元素的所有子節點,後

最新的微軟面試題,題目:求一個字串連續出現次數的子串

題目:求一個字串中連續出現次數最多的子串, 請給出分析和程式碼。給出一個由小寫字母組成的串s和一個不超過s的長度的正整數l,求s所有長度不小於l的字串中在s中不重疊地重複出現次數最多的子串。只要輸出這個子串出現的次數就行了。 特別強調:子串不是子序列,必須是從s截出來連續的

面試寶典——求一個字符串連續出現次數的子串

pair npos ring namespace 一個 turn vector 技術分享 std 1 #include"iostream" 2 #include"stdio.h" 3 #include"string.h" 4 #include"vector"

序列元素出現次數

comm style 隨機生成 遍歷 lam import div 序列 span 1 ‘‘‘ 2 序列中元素出現次數最多 3 4 ‘‘‘ 5 from random import randint 6 from collections import Coun

【面試被虐】如何只用2GB記憶體從20億,40億,80億個整數找到出現次數的數?

這幾天小秋去面試了,不過最近小秋學習了不少和位演算法相關文章,例如 【面試現場】如何判斷一個數是否在40億個整數中? 【演算法技巧】位運算裝逼指南 對於演算法題還是有點信心的,,,,於是,發現瞭如下對話。 20億級別 面試官:如果我給你 2GB 的記憶體,並且給你 20 億個 int 型整數,讓你來找出次數出

一個檔案資料輸入的韓信兵問題

韓信點兵問題 網上找到的答案都是隻能輸入一組資料立即給出結果的,這裡是能輸入多組資料然後一次性輸出全部結果的。 描述 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三人一排、五人一排、七人一排地變換隊形,而他每次只掠一眼隊伍的排尾就知道總人數了。輸入包含多組資料,每組資料

java寫a+b problem測試資料

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); w

資料只有一個數字出現一次,其他所有數字都是成對出現的。請找出這個數。使用位運算

連續異或即可得到這個數 #include <windows.h> #include <sdilo.h> int find(int a[],int len) { int ret = 0; int i = 0; for (i = 0; i < len;

關於近期開發遇到的同一賬戶人登入造成資料庫資料不一致的思考和解決避開了資料庫存狀態的常用處理手段

1.問題:近期開發了工單系統,開發結束專案上線測試過程中,發現同一賬戶多人同時登入如果不進行限制,該使用者的操作就不是唯一的,導致資料庫存放的資料出現了問題,專案整個就出問題了,經過本人再三思考,網上好多方案都是通過資料庫存一個登入狀態做處理,這樣的話又得對資料庫進行更改,很難受,那還有什麼其他的處理方案嗎?

資料結構2--線性表java程式碼實現線性表的鏈式儲存

1.鏈式儲存       2.分析       每個節點為一個物件,該物件包含資料域和指標域        整條單鏈表為一個物件,他和節點物件進行組合。  3.

C 使用拉依達準則3σ準則剔除異常資料 Net剔除一資料的奇異值

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

程式設計實現: 一資料只有一個數字出現了一次。其他所有數字都是成對出現的。 請找出這個數字。使用位運算

可以在指定陣列中找出只出現一次的元素 #include<stdio.h> int main() { int arr[] = { 1, 3, 4, 3, 1}; int i = 0; int len = sizeof(arr) / sizeof(ar

周星增:為蔡碧涵參賽“” 希望和香港交流

11月29日訊息,@北京商報從度小滿金融人士處獲悉,百度正式拿到准許經營證券期貨的許可證。據許可證顯示,機構名稱為北京百度百盈科技有限公司(下稱“百度百盈”),證券期貨業務經營範圍為基金銷售。而今年8月22日,根據北京證監局官網顯示,證監局已核准百度百盈證券投資基金銷售業務資格。 企查查資訊顯示,百度百盈成