【面经】2021 中国农业银行 笔试编程题
2020年09月01日
| 萬仟网科技
| 我要评论
微信搜索:编程笔记本。获取更多干货!微信搜索:编程笔记本。获取更多干货!点击上方蓝字关注我,我们一起学编程欢迎小伙伴们分享、转载、私信、赞赏1 火星文表示法题目描述:微信搜索:编程笔记本。获取更多干货!微信搜索:编程笔记本。获取更多干货!火星使用三进制表示数据,他们的数字符号:@、$、& 这三个符号分别表示 0、1、2 。现在输入一个十进制数,请把它用火星的三进制数表示出来。示例:输入:123输出:"$$$&@"参考代码:string triCoding(int n
微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏
1 火星文表示法
题目描述:
微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
火星使用三进制表示数据,他们的数字符号:@、$、& 这三个符号分别表示 0、1、2 。现在输入一个十进制数,请把它用火星的三进制数表示出来。
示例:
输入:123
输出:"$$$&@"
参考代码:
string triCoding(int num)
{
vector code;
while (num != 0) {
code.push_back(num % 3);
num /= 3;
}
string s;
string base = "@$&";
for (auto e : code) {
s += base[e];
}
return s;
}
2 找出离质心最近的点
微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
题目描述:
在二维平面上有 k(0~k-1) 个点,请找出这 k 个点中离质心最近点的编号。质心:横纵坐标为所有点的均值。
示例:
输入:["1,1", "2,2", "1,2", "1,3"]
输出:2
参考代码:
int get_index(vector points)
{
double x, y;
double mx = 0, my = 0;
vector pos;
// 从string中分析横纵坐标
for (sting s : points) {
x = 0;
y = 0;
int idx = 0;
while (s[idx] != ',') {
x = x * 10 + s[idx++] - '0';
}
pos.push_back(x);
mx += x;
++idx;
while (idx < s.size()) {
y = y * 10 + s[idx++] - '0';
}
pos.push_back(y);
my += y;
}
mx /= points.size();
my /= points.size();
int index = 0;
double min_dist = INT_MAX;
for (int i = 0; i < pos.size(); i += 2) {
x = pos[i];
y = pos[i + 1];
double dist = (x - mx) * (x - mx) + (y - my) * (y - my);
if (dist < min_dist) {
min_dist = dist;
index = i / 2;
}
}
return index;
}
3 扑克牌排序
微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
题目描述:
一副扑克牌中的牌面分为 5 种花色:大小鬼、黑桃、红桃、梅花、方块,分别用 k、s、h、p、q 表示这五种花色,同时牌面采用 1~13 之间的数字表示同一花色中的大小(小鬼-1,大鬼-2)。某扑克牌游戏中,一个玩家拿到了 12 张扑克牌,请按照如下规则对该玩家的牌进行排序,返回排序结果。
首先按照大小鬼、、黑桃、红桃、梅花、方块进行花色排序;
然后再对同一花色中的扑克牌按照数字从小到大排序。
示例:
输入:["s1", "s3", "s9", "s4", "h1", "p3", "p2", "q5", "q4", "q9", "k2", "k1"]
输出:["k1", "k2", "s1", "s3", "s4", "s9", "h1", "p2", "p3", "q4", "q5", "q9"]
参考代码:
vector getPokerOrder(vector cards)
{
vector res;
string help = "kshpq";
map> type;
for (int i = 0; i < cards.size(); ++i) {
type[cards[i][0]].push_back(cards[i]);
}
for (int i = 0; i < help.size(); ++i) {
sort(type[help[i]].begin(), type[help[i]].end());
for (auto e : type[help[i]]) {
res.push_back(e);
}
}
return res;
}
微信搜索:编程笔记本。获取更多干货!
微信搜索:编程笔记本。获取更多干货!
本文地址:https://blog.csdn.net/qq_42247231/article/details/108561807
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
相关文章:
本文经超能网授权转载,其他媒体转载请经超能网同意。
作为联想今年小新产品线的第一款产品,也是首发nvidia mx350显卡的...
9月28日,联想拯救者官微宣布,联想拯救者全新标压轻薄本——legion y9000x将于10月11日正...
2月24日晚间,华为在巴塞罗那召开发布会,除了发布华为mate xs之外,还带了全新升级matebook x pro笔记本。
...
1月9日消息,神舟全新游戏本战神z8上架京东商城并开启预约,售价9999元,预约价为8999元。
神舟战神z8最大的亮点是搭载...
1月21日消息,小米笔记本官方微博为新品redmibook pro预热。官方强调,redmibook pro是一款全新定义的笔记本,祖传模具正式退役,这次的外观...
除了k20、k20 pro,今天的redmi发布会还带来了惊喜,redmi 发布首款笔记本——redmi...
9月4日的武汉发布会上,除了荣耀20s之外,荣耀magicbook pro锐龙版也将一同亮相。
荣耀智慧生活官微宣布:&ldq...
二元实函数的线积分原函数柯西积分公式高阶导数
除了桌面和数据中心,amd锐龙在移动笔记本领域也是不断取得新突破,一改往日有平台但产品稀缺的局面,基于锐龙的轻薄本、游戏本正纷至...
本月初带有苹果m1芯片的mac实际用户跑分曝光了,这是苹果首次尝试在移动计算机设备上植入自研芯片,而随后苹果m2的消息传开,将在2021年投入到新款mac中。基...
网友评论
验证码: