面試題 統計陣列中數字的個數

2022-08-22 09:18:10 字數 1020 閱讀 9568

輸入:10個整數,如 9 9 0 7 8 6 5 7 3 9

輸出:統計每個數字出現的次數,並按數字的大小排序

0:13:1

5:16:1

7:28:1

9:3一、c++版本

#include #include 

using

namespace

std;

intmain()

map::iterator m_iter;

for (m_iter = m.begin(); m_iter != m.end(); m_iter++)

return0;

}

1. 用map事半功倍

2. map中自動按key值公升序排序

輸出:

二、c版本(忽略cin,cout)

不如c++版本用map簡潔,有點繞

#include //

#include

using

namespace

std;

struct

mymap;

intmain()

//k相當於依次存到m裡時的結尾位置

int k = 0

;

//遍歷輸入的每個數字

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

else

}if (flag == 0

) }

}//對結果排序

for (int i = 0; i < 10; i++)}}

//輸出結果

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

return0;

}

執行結果:

(完)

經典面試題 統計陣列

題目 給定陣列a,大小為n,陣列元素為1到n的數字,不過有的數字出現了多次,有的數字沒有出現。請給出演算法和程式,統計哪些數字沒有出現,哪些數字出現了多少次。能夠在o n 的時間複雜度,o 1 的空間複雜度要求下完成麼?分析 我們知道原陣列是沒有排序的。如果排序了,很簡單的。o 1 的空間含義,可以...

經典面試題 統計陣列

題目 給定陣列a,大小為n,陣列元素為1到n的數字,不過有的數字出現了多次,有的數字沒有出現。請給出演算法和程式,統計哪些數字沒有出現,哪些數字出現了多少次。能夠在o n 的時間複雜度,o 1 的空間複雜度要求下完成麼?分析 我們知道原陣列是沒有排序的。如果排序了,很簡單的。o 1 的空間含義,可以...

面試題之陣列統計

題目 給定陣列a,大小為n,陣列元素為0到n 1的數字,不過有的數字出現了多次,有的數字沒有出現。請給出演算法和程式,統計哪些數字沒有出現,哪些數字出現了多少次。要求在o n 的時間複雜度,o 1 的空間複雜度下完成。解法一 直接用兩層遍歷,o n 2 的時間複雜度,o 1 的空間複雜度 inclu...