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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

华为2015年实习生招聘考试试题

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为2015年实习生招聘考试试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一題:

描述:

目描述:

編寫一個函數,將字符串中的大寫的字母(A~Z)挑出來,同時保留原字符串中的空格,將挑出的大寫字母和空格按原始位置組成新的字符串。

例如:

1)輸入:AUStralia;

輸出:AUS

2)輸入:He Is a DoG

輸出:H I DG

運行時間限制:

1 Sec

內存限制:

128 MByte

輸入:

字符串

輸出:

僅有大寫字母和空格的字符串

樣例輸入:

AUStralia

樣例輸出:

AUS

#include <string> #include <iostream> using namespace std;int main() {string str;getline(cin,str);string substr;bool chuxian=false;//判斷第一個大寫字母出現for(int i=0;i<str.size();i++){if(str[i]>='A'&&str[i]<='Z'){ substr.append(1u,str[i]);chuxian=true;}else if(str[i]==' '&&chuxian)//只有第一個大寫字符出現,才能加空格{substr.append(1u,str[i]);}}cout<<substr<<endl;return 0; } 第二題:

描述:

根據依次輸入的數字,按到從大到小排序

運行時間限制:

10 Sec

內存限制:

128 MByte

輸入:

一行正整數,其長度小于4096,整數之間用非數字隔開



輸出:

排序后的整數,一個空格隔開

樣例輸入:

8 7R9t2 5 3

樣例輸出:

9 8 7 5 3 2

補充:

樣例輸入: 8er7Rd9st2 ? ?5 3
樣例輸出: 9 ?8 ?7 ?5 ?3 ?2

樣例輸入: er7Rd9st2 ? ?5 3
樣例輸出: ? ? ? ?9 ?7 ?5 ?3 ?2

#include <vector> #include <string> #include <iostream> #include <set> using namespace std;int main() {multiset<int> num;int n;string str;getline(cin,str); string substr;for(int i=0;i<str.size()+1;i++){if(str[i]>='0'&&str[i]<='9'){ substr.append(1u,str[i]); }else{if(i>=1&&str[i-1]>='0'&&str[i-1]<='9'){n=atoi(const_cast<char*>(substr.c_str()));num.insert(n);//substr.swap(string(" "));substr.clear();}}}int k=0;int size=num.size();for(multiset<int>::reverse_iterator iter=num.rbegin();iter!=num.rend();++iter){cout<<*iter<<" ";if(k<size)cout<<" ";}cout<<endl;return 0; } 第三題:

描述:

給你一個N*M的矩陣,每個位置的值是0或1,求一個面積最大的子矩陣,這個矩陣必須是一個正方形,且里面只能由1構成,輸出最大的正方形邊長

運行時間限制:

2 Sec

內存限制:

無限制

輸入:

第一行輸入兩個整數n,m,之后n行,每行m個數字,為矩陣第i行第j列的值,只可能是0或者1
n,m<=400

輸出:

一個整數,為最大正方形的邊長

樣例輸入:

3 3

1 1 1

1 1 1

0 0 1

樣例輸出:

2


#include <stdio.h> #include <string.h> #include <stdlib.h>int max(int i,int j) {return i>=j?i:j; } int min(int i,int j) {return i<=j?i:j; } #define MAXN 1001int matrix[MAXN][MAXN]; int lagest_rectangle(/*int **matrix, */int m, int n) {int i, j;int *H = (int*) malloc(n * sizeof(int)); // 高度int *L = (int*) malloc(n * sizeof(int)); // 左邊界int *R = (int*) malloc(n * sizeof(int)); // 右邊界int ret = 0;memset(H, 0, n * sizeof(int));memset(L, 0, n * sizeof(int));for (i = 0; i < n; i++) R[i] = n;for (i = 0; i < m; ++i) {int left = 0, right = n;// calculate L(i, j) from left to rightfor (j = 0; j < n; ++j) {if (matrix[i][j] == 1) {++H[j];L[j] = max(L[j], left);} else {left = j + 1;H[j] = 0;L[j] = 0;R[j] = n;}}// calculate R(i, j) from right to leftfor (j = n - 1; j >= 0; --j) {if (matrix[i][j] == 1) {R[j] = min(R[j], right);ret = max(ret, min(H[j],R[j] - L[j]));}else {right = j;}}}return ret; } int main() {int m, n;int i, j;while (scanf("%d%d", &m, &n) > 0) {for (i = 0; i < m; i++) {for (j = 0; j < n; j++) {scanf("%d", &matrix[i][j]);}}printf("%d\n", lagest_rectangle(m, n));}return 0; }

總結

以上是生活随笔為你收集整理的华为2015年实习生招聘考试试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。