阿里云实习 只问一道逻辑题一道算法题 这样的三面你喜欢吗
说在前面
逻辑题
1,2,3,4各有两个
两个i之间必须要有i个数,如1 2 1,两个1中间有一个数
如何排序?
这里我硬试出来一种4 1 3 1 2 4 3 2
思路就是暴力
先从1 0 1开始(0表示空,从4开始情况太多)
0可以填2,3,4,写一下就会发现答案
由于是对称的,所以基本写下2,3,4中的一个,另一个就随之确定
如下一个放3,模式必然是:
1 3 1 0 0 3
算法题
//评测题目: 无
// atoi("123", 10) == 123
// atoi("123", 4) == 27
// atoi("123", 16) == 291
public int atoi(String s, int base) {
}- 面试官提示注意base的范围,我反应过来base大小受a能用的字符数的限制,0-9,a-z,A-Z,也就是base < 62
- 我考虑了正负和多余空格
- 转换过程中,设字符对应的数是num,如果num >= base说明出错
最后
- 为什么三面是交叉面?不一般是四面吗?
- 我回答完思路后,面试官就说,写好了钉钉和他说,他看一下
- 全程只有两道题,能过有鬼了
海康威视公司福利 1160人发布
查看12道真题和解析