关于循环,最后运行出来的结果是一直在循环。这是为什么?
打开App,查看更多内容
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。
你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。
1、首先建立一个大小为k的小顶堆;
2、如果元素比堆顶元素小,直接排除;
3、如果元素比堆顶元素大,剔除顶堆元素,重新调整堆,返回堆顶元素。
扫描下方的二维码关注我的微信公众号:code随笔
将一个给定字符串
s
根据给定的行数numRows
,以从上往下、从左到右进行 Z 字形排列。
最开始想的是放入String,但是发现不知道怎么加,然后换成了Character,代码有点长
通过查看其它人的代码发现里面直接放StringBuider就可以,于是改进了一下,并且发现我的判断写的可太复杂了,可以改变一下
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串
""
字符串
S
由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。
每次都找都最后的位置,然后进行分配
四、线程池的拒绝策略(饱和策略)(四种)
如果当前同时运行的线程数量达到最大线程数量并且队列也已经被放满了任时,ThreadPoolTaskExecutor
定义一些策略:
ThreadPoolExecutor.CallerRunsPolicy
:调用执行自己的线程运行任务,也就是直接在调用execute
方法的线程中运行(run
)被拒绝的任务,如果执行程序已关闭,则会丢弃该任务。因此这种策略会降低对于新任务提交速度,影响程序的整体性能。如果您的应用程序可以承受此延迟并且你要求任何一个任务请求都要被执行的话,你可以选择这个策略。由调用的线程处理该任务,谁调用谁的线程处理。
ThreadPoolExecutor.DiscardOldestPolicy
: 此策略将丢弃最早的未处理的任务请求。丢弃队列最前面的任务,然后重新提交被拒绝的任务;
老板给度度熊n个数, 每一次从中取出一个最大的减去[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传, 其他的n-1个数加上1, 一直重复直到最大数小于n的执行次数记为k。
老板想知道最少执行多少次操作使得个数都小于n呢?