58同城笔试:后端开发编程题
1.找出二维字符数组里行字符数组所共有的字符
例子:
输入:{{“you”,“are”,“pig”,“dog”},{“is”,“as”,“you”,“are”},{“kik”,“you”,“are”,“aoa”}}
输出:{“you”,“are”}
class Solution {public:/**** @param values string字符串二维数组* @param valuesRowLen int values数组行数* @param valuesColLen int* values数组列数* @return string字符串vector*/vector<string> findCommonString(string** values, int valuesRowLen, int* valuesColLen) {// write code herevector<string> ans;unordered_map<string, int> m;for (int i = 0; i < valuesRowLen; ++i) {for (int j = 0; j < *valuesColLen; ++j) {++m[values[i][j]];}}for (int j = 0; j < *valuesColLen; ++j) {if (m[values[0][j]] == valuesRowLen)ans.push_back(values[0][j]);}return ans;}
};
只AC了60,提示段错误,但是不知道哪会出现,忘热心老哥解答下。
2.给一个数,它加上a是完全平方数,加上b也是完全平方数,这个数是多少?
输入:a=100, b=200
输出:476
class Solution {public:/**** @param a int整型* @param b int整型* @return int整型*/int question(int a, int b) {// write code herelong long ans = 0;while (!isValid(ans, a) || !isValid(ans, b))++ans;return ans;}bool isValid(long long ans, int a) {long long val = ans + a;int pre = 0, last = val / 2;while (pre <= last) {int mid = (pre + last) / 2;if (pow(mid, 2) == val)return true;if (pow(mid, 2) > val)last = mid - 1;elsepre = mid + 1;}return false;}
};
第一眼就想到了二分暴力搜寻,竟然直接过了…
3.破译密码,给一个数,其中的数位可以翻译成“a-z”,对应每一位“0~25”,问有几种翻译方式。
输入:112
输出:3:1,1,2 11,2 1,12
class Solution {public:/*** 翻译组合数* @param num int整型 数字加密报文* @return int整型*/int translateNum(int num) {// write code herestring strNum = to_string(num);int n = strNum.size();vector<int> dp(n+1);dp[0] = 1;dp[1] = 1;for (int i = 2; i <= n; ++i) {dp[i] = dp[i - 1] + isValid(strNum, i - 2)*dp[i - 2];}return dp[n];}int isValid(string &str, int i) {string ans = str.substr(i, 2);int res = stoi(ans);if (res >= 10 && res <= 25)return 1;return 0;}
};
当时直接dp数组存,也直接过了,所以没优化了。
58同城笔试:后端开发编程题相关推荐
- 58同城Java后端一面【社招】
58一共4-5轮面试. 一面大概30分钟结束,更多考察程序员基础知识(框架原理完全没有问). 多刷刷题,问题不大. 二面更多根据你简历里的项目进行提问 三面和四面是管理面试,小组组长和部门经理询问你的 ...
- 58同城笔试(2021/10/23)
58同城笔试(2021/10/23) # 第一道 题目大意:输入"AAABBCCCDD",输出A3B2C3D2:输入ABCDEF,输出ABCDEF```java import ja ...
- 58同城 java高级工程师_内推:58同城 | 高级测试开发工程师
原标题:内推:58同城 | 高级测试开发工程师 新书 速递 吴老的java版<selenium webdriver 实战宝典>和python版<selenium Webdriver ...
- 滴滴2016.09.06校招 在线笔试 - 2道编程题
滴滴2016.09.06校招 在线笔试 - 2道编程题 1.连续子数组的最大和 题目描述 一个数组有N个元素,求连续子数组的最大和.例如:[-1,2,1],和最大的连续子数组为[2,1],其和为3. ...
- 58同城 Flutter 混合开发探索与实践
点击"开发者技术前线",选择"星标????" 在看|星标|留言, 真爱 导语 本文主要介绍将Flutter应用到已有Native项目中混合开发遇到的问题及解决 ...
- 网易笔试编程题java_2017年网易校招笔试JAVA研发编程题
为什么80%的码农都做不了架构师?>>> 尝试挑战了下网易2017校招的笔试编程题,共三题,AC第一题,第二题思考了很久勉强用一种low逼的方式完成,第三题没有完成,希望路过的ACM ...
- 用友2023届秋招Java笔试-S2卷-编程题详解
用友2023届秋招Java笔试-S2卷 其他的选择和多选不允许跳出 另外还有一道关于数据库查询的题: 有两个表,一个学生表,一个成绩表包含学生各个科目的成绩,学生表根据学生id和成绩表关联,要求的是通 ...
- 小红书2022秋招后端开发编程部分
一起是三个编程题,总共80分. 昨天笔试完,顺便记载下. 第一题: 零件组装 小明管理了一家工厂.该工厂生产一种大型机械,需要由四种零件组装完成.我们不妨称这四种零件为A,B,C,D. 由于生产机械需 ...
- 基于以太坊开发的类似58同城的DApp开发与应用案例
今天,Origin开发团队很高兴地宣布在以太坊Rinkeby测试网络上推出Origin Protocol Demo DApp ! 在这个DApp中,你可以在不同垂直行业的solidarity econ ...
最新文章
- 比特币和以太坊本质有什么区别?
- I need to follow my heart.
- myBatis之事务管理
- List集合ArrayList,LinkList
- ajax会占用服务器端内存吗,javascript - 为什么不允许在jquery datatable服务器端处理ajax成功使用? - 堆栈内存溢出...
- php的yii框架配置,php配置yii框架_PHP教程
- C++/C--在堆栈中使用数组的区别
- 郑大中科院合作计算机系,郑大一本今年在河南招4320人 本科新增5个专业
- 子元素个数不定的垂直居中布局
- Inception V3 的 tensorflow 实现
- 【pytorch】pytorch-LSTM
- 传智播客 sklearn数据集与机器学习组成
- window.dialogArguments与window.showModalDialog用法
- 手机打印文件_Android 手机打印文件_Android 手机连接打印机_手机端打印wordExcelPPT_华为P20连接打印机_惠普M1213nf MFP打印机无线打印
- day1------安装部署k8s之完成(3)
- 用户DSN、系统DSN、文件DSN的区别
- 数字排在最前,英文字母其次,汉字则按照拼音进行排序,获取中文首字母
- ESP8266设置静态IP入网
- php实现增量更新,基于html5plus平台 实现app增量更新功能
- S2B2b2C模式什么意思?有相关的商城源码吗?
热门文章
- Kali beef-xss实现Xss详细教程。
- 简单编程(六)使用for循环语句 编写程序1+2+3+...........+100
- iOS开发系列--IOS程序开发概览ios基础
- BYOD可节省企业6成IT设备费用 你造吗?
- 域名可以转让注册人吗_域名转让和过户需要的资料
- 源码解析-深刻理解Hash HashTable HashMap原理及数据hash碰撞问题
- Jetson Orin 踩坑指南
- 【动态规划DP】弹簧板
- 关于C语言中表达式运算顺序(优先级、结合性、副作用、序列点)的讨论以及c语言未定义行为
- Windows 平台中采用 beamer 时中文书签乱码解决方法