谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
Google2009华南地区笔试题
给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。比如,A=[1,0]
K=21 那么输出结构应该为100。
// 一个从小到大排序的整数数组,元素都是在[0,9]之间的数字,但未必全部包含
// 用数组中的数字(可以重复)组成一个最小的给定位数的正整数
int generate_min_int_containing_duplicate_digit(int *array, int n, int bit_num)
{
// 找到最小的非零整数
int data;
for (int i = 0; i < n; ++i)
{
if (array[i] > 0)
{
data = array[i];
break;
}
}
for (int i = 1; i < bit_num; ++i)
{
data = data * 10 + array[0];
}
return data;
}
// Google2009华南地区笔试题
// 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),
// 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
// 比如,A=[1,0] K=21 那么输出结构应该为100。
int generate_min_int_greater_than_k(int *array, int n, int k)
{
std::sort(array, array+n);
// high_digit: k的最高位数字
// bit_num: k的位数
int high_digit = k, bit_num = 1;
while (high_digit/10 > 0)
{
++bit_num;
high_digit /= 10;
}
// 查找数组中比k的最高位大的最小的数字
int i;
for (i = 0; i < n; ++i)
{
if (array[i] >= high_digit)
break;
}
if (i == n) // 数组中的数字都比K的最高位小
{
return generate_min_int_containing_duplicate_digit(array, n, bit_num+1);
}
else if (array[i] == high_digit)// 数组中有一位数字跟K的最高位相等
{
int low_data = k - high_digit * pow(10, bit_num-1);
return array[i]*pow(10, bit_num-1)+generate_min_int_greater_than_k(array, n, low_data);
}
else // 数组中有一位数字比k的最高位高
{
int data = array[i];
for (int j = 1; j < bit_num; ++j)
{
data = data * 10 + array[0];
}
return data;
}
return 0;
}
分享到:
相关推荐
京东 校园招聘笔试试题--软件开发笔试题 -.docx京东 校园招聘笔试试题--软件开发笔试题 -.docx京东 校园招聘笔试试题--软件开发笔试题 -.docx京东 校园招聘笔试试题--软件开发笔试题 -.docx京东 校园招聘笔试试题--...
C-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-公司招聘C笔试题.docxC-C-笔试题-...
百度笔试题---数据库百度笔试题---数据库百度笔试题---数据库百度笔试题---数据库
快手2019秋招笔试试题-游戏研发A试卷
CC++Java笔试题--很多大公司的面试和笔试题目-珍贵 CC++Java笔试题--很多大公司的面试和笔试题目-珍贵 CC++Java笔试题--很多大公司的面试和笔试题目-珍贵
美团2017秋招笔试真题-(前端开发工程师、运维工程师)
很齐全的操作系统笔试题集合操作系统笔试题集合操作系统笔试题集合操作系统笔试题集合操作系统笔试题集合操作系统笔试题集合
1_技术支持岗位笔试题-电子知识.pdf
点我达2019校招笔试题-开发合集
笔试题-广州汉融.doc
JAVA笔试题--Java选择题汇总.pdf
2022前端笔试题 - javascript.pdf
北大青鸟Y2笔试题 --绝对内部题 9月Y2笔试 北大青鸟Y2笔试题 --绝对内部题 9月Y2笔试
java笔试题-笔试题 涵盖所有重要的笔试题
高通笔试题--嵌入式C开发人员的最好的0x10道笔试题(详细解析).docx
JAVA笔试题-包含JAVA各个方面的笔试题
JAVA笔试题,它是大唐公司的笔试题,比较经典,值得一看
各个公司面试笔试题 深圳-华为 武汉-高蓝德国际人 中兴笔试题 清华同方
C C 笔试题-公司招聘C笔试题.docxC C 笔试题-公司招聘C笔试题.docxC C 笔试题-公司招聘C笔试题.docxC C 笔试题-公司招聘C笔试题.docxC C 笔试题-公司招聘C笔试题.docxC C 笔试题-公司招聘C笔试题.docxC C 笔试题-...
C C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C笔试题.pdfC C 笔试题-公司招聘C...