华为2015年实习生招聘考试试题
第一題:
| 描述: | 目描述: 編寫一個(gè)函數(shù),將字符串中的大寫的字母(A~Z)挑出來,同時(shí)保留原字符串中的空格,將挑出的大寫字母和空格按原始位置組成新的字符串。 例如: 1)輸入:AUStralia; 輸出:AUS 2)輸入:He Is a DoG 輸出:H I DG |
| 運(yùn)行時(shí)間限制: | 1 Sec |
| 內(nèi)存限制: | 128 MByte |
| 輸入: | 字符串 |
| 輸出: | 僅有大寫字母和空格的字符串 |
| 樣例輸入: | AUStralia |
| 樣例輸出: | AUS |
| 描述: | 根據(jù)依次輸入的數(shù)字,按到從大到小排序 |
| 運(yùn)行時(shí)間限制: | 10 Sec |
| 內(nèi)存限制: | 128 MByte |
| 輸入: | 一行正整數(shù),其長度小于4096,整數(shù)之間用非數(shù)字隔開 |
| 輸出: | 排序后的整數(shù),一個(gè)空格隔開 |
| 樣例輸入: | 8 7R9t2 5 3 |
| 樣例輸出: | 9 8 7 5 3 2 |
補(bǔ)充:
樣例輸入: 8er7Rd9st2 ? ?5 3
樣例輸出: 9 ?8 ?7 ?5 ?3 ?2
樣例輸入: er7Rd9st2 ? ?5 3
樣例輸出: ? ? ? ?9 ?7 ?5 ?3 ?2
| 描述: | 給你一個(gè)N*M的矩陣,每個(gè)位置的值是0或1,求一個(gè)面積最大的子矩陣,這個(gè)矩陣必須是一個(gè)正方形,且里面只能由1構(gòu)成,輸出最大的正方形邊長 |
| 運(yùn)行時(shí)間限制: | 2 Sec |
| 內(nèi)存限制: | 無限制 |
| 輸入: | 第一行輸入兩個(gè)整數(shù)n,m,之后n行,每行m個(gè)數(shù)字,為矩陣第i行第j列的值,只可能是0或者1 |
| 輸出: | 一個(gè)整數(shù),為最大正方形的邊長 |
| 樣例輸入: | 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; }
總結(jié)
以上是生活随笔為你收集整理的华为2015年实习生招聘考试试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件开发底层知识修炼】六 Binuti
- 下一篇: 在Windows下安装GmSSL