算法---待整理

知道的所有排序,及其时空复杂度和是否稳定

 

排序为什么分稳定不稳定?

判断单向链表中是否有环;

介绍数组、链表,以及对比一下

不用临时变量怎么实现 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]。这个就是简单的递归了,分两种情况,当前位置的数字在子数组中,以及不在子数组中。

算法:两个无限长度链表(也就是可能有环) 判断有没有交点

 

posted @ 2019-03-10 19:26  yuhui.Mr  阅读(240)  评论(0编辑  收藏  举报