![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
bingbingYang_88
这个作者很懒,什么都没留下…
展开
-
多线程交替打印 有三个线程,1号线程打印数字1,2号线程打印数字2,3号线程打印数字3,要求:
2、1号线程打印100次,2号线程打印200次,3号线程打印300次。1、三个线程交替打印。原创 2024-02-01 21:05:25 · 207 阅读 · 0 评论 -
由于现在都是是分布式系统,现有k个文件,每个文件个数为n, 每个文件都是按照时间戳排序, 需要把k个文件合并成1个按照时间戳排好序的文件;按照题目写出实现的代码,思考时间复杂度
当所有文件的指针都超出了文件的长度时,表示合并完成。这种实现的时间复杂度为O(kn),其中k是文件的个数,n是每个文件的平均元素个数。不使用优先队列的话,在每一轮循环中都需要遍历k个文件来找到最小元素,因此整体复杂度为O(kn)。在归并的过程中,每个文件的元素最多会被加入和弹出堆一次,所以归并的过程时间复杂度为O(knlogk),其中n是每个文件的平均元素个数。初始化堆的过程需要将每个文件的第一个元素加入堆,时间复杂度为O(k)。题目:由于现在都是是分布式系统,现有k个文件,每个文件个数为n,原创 2024-02-01 17:55:04 · 210 阅读 · 0 评论 -
整数数组找到所有符合x=y+z的组合
x,y,z是一个整数数组的三个不同的元素,找到所有符合x=y+z的组合。用某种编程语言实现(java或javascript优先),并简述算法。在实现题目要求的基础上尽可能地使用更优的算法。整数数组找到所有符合x=y+z的组合。原创 2024-01-30 14:14:53 · 122 阅读 · 0 评论 -
n个整数的无序数组,找到每个元素后面比它大的第一个数,要求时间复杂度为O(N)
n个整数的无序数组,找到每个元素后面比它大的第一个数原创 2022-06-08 16:03:48 · 400 阅读 · 0 评论 -
java从一个有序数组中找出目标元素在数组中的出现的首次和最后一次位置
从一个有序数组中找出目标元素在数组中的出现的首次和最后一次位置要求时间复杂度O(logn)int[] nums={1,2,3,4,5,6,7,8,8,8,8,9,10};这里因为是有序数组所以可以采用二分法来解决,分别找出第一次出现的位置和最后一次出现的位置选出中间位置开始往两边走,不断的去找与目标元素相同的数的位置,如果没有则返回-1,有则返回位置下标需要注意的是在找最后一次出现的时候,中间数的位置mid要+1,对应的边界也会发生相应变化,要不会越界package com.evan.sprin原创 2020-05-15 18:19:58 · 1721 阅读 · 0 评论