1. 程式人生 > >華為oj 明明的隨機數&&計算字元個數

華為oj 明明的隨機數&&計算字元個數

在此提供三種解法,其實三種解法殊途同歸,不就是排個序,去個重就好!

1.利用map特點,插入map之後,會自動根據關鍵字排序,而且不會出現相同的關鍵字,正好滿足特性

#include<iostream>
#include<map>
using namespace std;
int main()
{
	map<int, int> in;
	int num, temp;
	cin >> num;
	for (int i = 0; i<num; i++)
	{
		cin >> temp;
		in[temp]++;
	}

	for (map<int, int>::iterator iter=in.begin(); iter != in.end(); iter++)
	{
		cout << iter->first << endl;
	}
	return 0;
}
2.因為給出資料不會大於1000所以,所以我們用一個大小為1000的陣列儲存輸入數,陣列值儲存出現個數,我們要去重,只要輸出陣列值大於0的下標就好!
#include<iostream>
using namespace std;

int main()
{
	int hash[1001], count, num;
	memset(hash, 0, sizeof(int)* 1001);

	cin >> count;
	for (int i = 0; i<count; i++)
	{
		cin >> num;
		hash[num]++;
	}

	for (int i = 1; i <= 1000; i++)
	{
		if (hash[i]>0)
		{
			cout << i << endl;
		}
	}
	return 0;
}

3.將輸入資料排序,那麼重複的數字肯定是連續的,所有我們在輸出的時候進行過濾就好
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int stack[100], count, num,j,k;

	cin >> count;
	for (int i = 0; i < count; i++)
	{
		cin >> num;
		stack[i] = num;
	}

	sort(stack, stack + count);

	for (j = 0, k = 0; k < count;)
	{
		if (stack[j] == stack[k])
		{
			k++;
		}
		else
		{
			cout << stack[j] << endl;
			j = k;
		}
	}

	cout << stack[count-1] << endl;

	return 0;
}


很簡單:
#include<iostream>
using namespace std;
int main()
{
	char in[100];
	gets_s(in);
	int len = strlen(in);
	int count = 0;
	char temp;
	cin >> temp;
	for (int i = 0; i < len; i++)
	{
		if (in[i] == temp||in[i]==temp+32||in[i]==temp-32)
		{
			count++;
		}
	}
	cout << count << endl;
	return 0;
}


相關推薦

oj 明明隨機數&&計算字元個數

在此提供三種解法,其實三種解法殊途同歸,不就是排個序,去個重就好! 1.利用map特點,插入map之後,會自動根據關鍵字排序,而且不會出現相同的關鍵字,正好滿足特性 #include<iostream> #include<map> using na

oj 公共字串計算

此題是經典的動態規劃的題:設c[i][j] 表示第一個字串從開始到 i 的位置,和第二個字串從開始到 j 的位置的最長公共字串的長度,那麼我們可以根據題目得知一下條件 1.如果pFirstStr[i+1]==pSecondStr[j+1],那麼c[i+1][j+1]=c[

oj 字串萬用字元

本題,其實和分蘋果的題有那麼一丟丟的類似,在此提供兩種能通過的解法(主要就是對於‘*’的處理) 1.這種解法其實是錯誤的,但是也要說說他的思路,對於 ‘*’ 他直接找 ‘*’ 下一個字元是否出現在需要匹配的串中,並且找到那個位置,認為此位置到之前就是‘*’所匹配的內容。

OJ——字串萬用字元

題目描述   問題描述:在計算機中,萬用字元一種特殊語法,廣泛應用於檔案搜尋、資料庫、正則表示式等領域。現要求各位實現字串萬用字元的演算法。 要求: 實現如下2個萬用字元: *:匹配0個或以上的字元(字元由英文字母和數字0-9組成,不區分大小寫

OJ——公共字串計算

公共字串計算 題目描述 題目標題: 計算兩個字串的最大公共字串的長度,字元不區分大小寫 詳細描述: 介面說明 原型: int getCommonStrLength(char * pFirstStr, 

OJ——矩陣乘法計算量估算

矩陣乘法計算量估算 題目描述 矩陣乘法的運算量與矩陣乘法的順序強相關。例如:     A是一個50×10的矩陣,B是10×20的矩陣,C是20×5的矩陣 計算A*B*C有兩種順序:((AB)C)或者(A(BC)),前者需要計算15000次乘法,後者只需要3500次。 編寫程

OJ:計算字元個數

因為區分大小寫,所以要用toUpperCase()和toLowerCase()兩個函式同時與charAt得到的字元比較。 import java.util.Scanner; public class countCharNumber { public static vo

筆試-計算字元個數

題目描述 寫出一個程式,接受一個由字母和數字組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。輸入描述: 輸入一個有字母和數字以及空格組成的字串,和一個字元。 輸出描述: 輸出輸入字串中含有該字元的個數。 示例1 輸入 ABCDEF A

牛客網——機試(題2:計算字元個數)(Java)

題目描述: 寫出一個程式,接受一個由字母和數字組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。 輸入描述: 輸入一個有字母和數字以及空格組成的字串,和一個字元。 輸出描述: 輸出輸入字串中含有該字元的個數。 示例1: 輸入: ABCD

計算字元個數寫出一個程式,接受一個有字母和數字以及空格組成的字串,和一個字元,然後輸出輸入字串中含有該字元個數。不區分大小寫。

寫出一個程式,接受一個有字母和數字以及空格組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。 自己編寫的一個程式,聽牛客網的左神說程式設計也跟高考一樣要不斷地刷題才會有感覺,自

線上程式設計題系列-2-計算字元個數

問題描述: 1. 問題涉及知識點. string.toUpperCase() string.toLowerCase() 全部轉為大寫或者全部轉為小寫. string.compareTo

oj 字串個數統計&&數字顛倒&&字串翻轉&&字元逆序&&求int型資料在記憶體中儲存時1的個數

同樣只上程式,都是簡單題 #include<iostream> using namespace std; int main() { int in[128], count = 0; char n,temp[100]; memset(in, 0, sizeo

OJ明明隨機數

明明的隨機數 明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的

機試線上訓練》之計算字元個數

寫出一個程式,接受一個有字母和數字以及空格組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。 輸入描述: 輸入一個有字母和數字以及空格組成的字串,和一個字元。 輸出描述: 輸出輸入字串中含有該字元的個數。 輸入例子: ABCDEF A 輸出例子: 1 解題思路:第一反應就是可以

OJ明明隨機數

題目: 明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤1000),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對

OJ 初級:字元個數統計

描述 編寫一個函式,計算字串中含有的不同字元的個數。字元在ACSII碼範圍內(0~127)。不在範圍內的不作統計。 知識點 字串,函式,指標 執行時間限制 10M 記憶體限制 128

[oj]計算公共字串

#include <iostream> #include <string> using namespace std; int main(){ int getCommonStrLength(string s1,string s2);

OJ40】輸入一行字元,分別統計出包含英文字母、空格、數字和其它字元個數

輸入描述: 輸入一行字串,可以有空格 輸出描述: 統計其中英文字元,空格字元,數字字元,其他字元的個數 輸入例子: 1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][ 輸出例子: 26 3 10 12 impor

oj 字元逆序&&求解立方根&&最小公倍數

圖就不上了簡單了,程式依次和題目對應 #include<iostream> using namespace std; int main() { char in[100]; gets(in); int len =strlen(in); for(int i=len-

oj中級 計算日期到天數轉換

#include<iostream> #include<algorithm> #include<string> #include<vector> #inc