架构爱好者
学习交流中心

算法

栈-人人都是架构师

给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确...

快速排序-人人都是架构师

快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想——分治法也确实实用,因此很多软件公司的笔试面试,包括像...

数字数组奇偶排序问题-人人都是架构师

数字数组奇偶排序问题

将数组中奇数放在右边,偶数放在左边,不允许使用额外空间。说明:从一个数组中间删除元素splice的运行代价是比较大的。

单调栈-人人都是架构师

单调栈

单调栈是一种特殊的栈结构,其内部元素的排序是单调朝一个方向的。在许多数组的范围查询问题上,用上单调栈可显著降低时间复杂度——毕竟其时间复杂度只有O(N)。

链表-人人都是架构师

链表

100个小朋友成环报数,从1开始,小朋友编号为1-10, 报到含3或者3的倍数时站起来并且之后不会再报, 当最后一个小朋友站起来时,他的编号和报的数字是多少?

数组扁平化-人人都是架构师

数组扁平化

将数组中的所有数组元素扁平化成顶层元素,返回新数组,不修改原数组。增加去重功能,重复的为基本数据类型的元素不显示。

二分法查找-人人都是架构师

二分法查找

二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 英语科普:二分法,dichotomy。

深拷贝-人人都是架构师

深拷贝

如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自...