面试思考
Shao Kaiyang
BIT && BUAA,云计算相关
展开
-
如何实现一个高效的单向链表逆序输出?-阿里面试
如何实现一个高效的单向链表逆序输出?0. 需要考虑因素,高效应权衡多方面因素数据量是否会很大 空间是否有限制 原始链表的结构是否可以更改 时间复杂度是否有限制 一个链表节点需要输出的元素有多个,例如链表中存的是自定义对象,有多个字段1. 直接递归(简单,但O(n)空间复杂度不支持大数据量)// 直接递归实现核心代码片段public void reverse(head){...原创 2019-04-25 23:28:21 · 2591 阅读 · 2 评论 -
面试中常见的位运算题目
0. 常见位运算及操作简介1. 求二进制中1的个数2. 判断一个数是否为2的幂3. 位运算实现两数交换4. 找出唯一出现一次的数(1个版本和2个版本)5. 位运算实现加法和减法6. 输入两数m,n,计算需要改变多少位能使m变成n7. 位运算解决N皇后问题8. bitmap...原创 2019-04-26 20:38:48 · 474 阅读 · 0 评论 -
求数组中的众数-京东面试题
题目描述给定一个整数数组,包含n个整数,请找出出现次数大于n/2的数,数组保证存在解。例如:input:2 3 3 3 2output:3方法一 摩尔投票法方法二 先排序后寻找方法三 map计数法方法四 暴力搜索法...原创 2019-04-27 20:04:30 · 1730 阅读 · 0 评论 -
面试前一些非技术注意事项--程序员面试金典
0. 主要内容面试流程面试揭秘特殊情况面试之前行为面试题技术面试题录用通知及其他1.面试流程2.面试揭秘3.特殊情况4.面试之前5.行为面试题6.技术面试题7.录用通知及其他...原创 2019-04-28 16:00:32 · 1008 阅读 · 0 评论 -
求x!末尾0的个数--面试题
问题描述给定一个整数x,求x!(阶乘)末尾0的个数。input: 5output: 1方法一:暴力求解法,暴力寻找因子5个数方法二:寻找因子5个数法原创 2019-04-28 19:36:33 · 541 阅读 · 0 评论 -
高频链表问题总结—面试题
0. 链表题目注意清楚链表在内存中的存储方式注意每个节点中指针的指向写链表相关题目时首先在纸上画出相关操作,然后再写代码注意对非法情况进行判断一些高频的链表问题翻转链表K个节点为一组进行翻转判断链表是否有环返回链表中间(1/2)节点(扩展返回链表1/k 节点)求链表的交旋转链表1. 翻转链表2. K个节点为一组进行翻转3. 判断链表是否有环快慢指针se...原创 2019-05-02 00:27:34 · 218 阅读 · 0 评论 -
开方运算实现-sqrt(x)--阿里面试题
问题描述不使用库函数sqrt()实现对一个数的开方运算,精度为小数点后十位(1e-10)input 2output 1.4142135623思路:牛顿迭代法和二分法牛顿迭代法(牛顿-拉弗森方法)产生背景:五次及以上的多项式没有根式解(二次函数的万能公式),被伽罗瓦用群论做出的最著名结论驱动: 然而工作中有很多高次求解的需求,所以就出现了牛顿迭代法原理:切线是曲线的线性逼近,...原创 2019-04-29 19:18:54 · 2755 阅读 · 1 评论 -
数据结构与算法面试考点总结—程序员面试金典
0. 前言简要总结面试或工作中最常用的数据结构和算法以及一些容易忽略但是重要的细节。内容主要包括:数组与字符串;链表;栈与队列;树与图;位操作;智力题;数学与概率;面向对象设计;递归与动态规划;扩展性与存储型限制;排序与查找;测试;C++重要知识点;Java重要知识点;数据库;线程与锁;后续会针对一些典型题目进行题解说明。1. 数组与字符串散列表:一种将键映射为值从而实现快速查找的数据结构...原创 2019-05-01 15:43:56 · 1007 阅读 · 0 评论