数据结构与算法常见面试题

数据结构与算法
找到单链表的三等分点,如果单链表是有环的呢 ?

用快慢指针,一个走一步,一个走三步。如果有环,先判断环在哪,找最后一个节点,然后用之前的无环的做法

从10万个数中找最小的10个,时间复杂度分析(最小堆,考虑内存)?

我们首先取10万个元素中的前10个元素来建立由10个元素组成的最小堆。这样堆顶元素便是当前已知元素的第10大的数;然后依次读取剩下的99990个元素,若读取的元素比堆顶元素大,则将堆顶元素和当前元素替换,并自堆顶至下调整堆;这样读取完所有元素后,堆中的10个元素即为这10万个数最大的10个数,同时堆顶元素为这10万个元素第10大元素

满二叉树第i层有多少个节点?

2的(n-1)次方

一个有序的整数数组,输出两个数,使它们的和为某个给定的值。如果数组无序怎么办,先排序?

每个数跟后面的所有数进行相加比对,遇到相加等于target的添加到List中直接返回即可

两个文件,每个文件中都有若干个url,找出两个文件中相同的url(用HashMap/tire树)海量数据处理?

https://blog.csdn.net/u012289441/article/details/45192775

树的先序中序后序以及应用场景?
数组和链表的使用场景
list中存放可重复字符串,如何删除某个字符串?

https://blog.csdn.net/claram/article/details/53410175
1.循环时倒序(int i = size-1;i>=0;i—)
2.foreash时可以使用copyAndWriteList保证遍历时不报错(遍历的是旧数组,修改数组会重新新建一个新数组,把操作后的值赋值到新数组,写时加锁,读时不加锁)
3.使用迭代器的remove()方法删除元素(itertor的remove方法会保证数组的长度始终相等于遍历的长度)存疑!

HashMap底层实现,怎么实现HashMap线程安全
ArrayList LinkedList 集合类的线程安全问题 底层数据结构
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值