算法---待整理
知道的所有排序,及其时空复杂度和是否稳定
排序为什么分稳定不稳定?
判断单向链表中是否有环;
介绍数组、链表,以及对比一下
不用临时变量怎么实现 swap(a, b)——用加法或者异或都可以
简述排序算法——快排,partion函数的原理,堆排(不稳定),归并排序,基数排序。
手写代码:给出一个UIview,打印其所有下属各个层级的子view。(递归、队列)
手写代码:给定一个字符串,同时给定两个字符,求出包含这两个字符的最小子串的长度;(比如输入:addcddabc ,a ,c 那么包含的子串为:addc, cdda, abc —>最小的子串长度为3;)
手写代码:把 "www.zhidao.baidu.com" 这样的字符串改成 "com/baidu/zhidao/www"。
算法:在10亿个数中如何快速找到最大的前100个数?
算法:str = “4213523…..54”很长的数字字符串,如何判断是否能被6整除?
算法:double power(double x, int n)函数实现,最好是O(long)复杂度;
算法:二叉树的左右子树交换代码实现
算法:合并两个已经有序的链表代码实现;
算法:合并两个有序数组
算法:一棵多叉树,每个节点上有个值,求一条路径上值的和为sum的路径有哪些;
算法:输出2~100的素数(然后问你怎么优化,还可以怎么优化,然后还可以怎样优化.....)
算法:两个数相除,是否为循环小数,求循环小数的循环节
算法:怎么找单链表的中点?
算法:寻找两个字符串的最长公共子串。
算法:将十进制转换成十六进制,需要完整的输入输出。
算法:1~100的数组其中有一个数字改成-1,找到这个数字;
算法:n个数字全排列输出;
算法:二维有序数组查找数字
算法:亿级日志中,查找登陆次数最多的十个用户——(不确定对不对,我的思路是)先用哈希表保存登陆次数和ID,然后用红黑树保存最大的十个数。
算法:求数组中和为某个值的所有子数组,比如数组是[5,5,10,2,3]一共有四个子数组的和是 15,比如[5,10],[5,10],[10,2,3],[5,5,2,3]。这个就是简单的递归了,分两种情况,当前位置的数字在子数组中,以及不在子数组中。
算法:两个无限长度链表(也就是可能有环) 判断有没有交点