算法
文章平均质量分 73
whisperImp
这个作者很懒,什么都没留下…
展开
-
浪潮编程题:石头
浪潮编程题:石头沙滩按照线型摆放着n个大小不一的球形石头,已知第i个石头的半径为ri,且不存在两个石头有相同的半径。为了使石头的摆放更加美观,现要求摆放的石头的半径从左往右依次递增。因此,需要对一些石头进行移动,每次操作可以选择一个石头,并把它放在剩下n−1个石头在最左边或最右边。问最少需要操作多少次才能将这n个石头的半径变成升序?使用dp记录以arr[i]结尾的最长连续递增序列public class 第一道 { public static void main(String[] args)原创 2020-08-24 22:49:33 · 1376 阅读 · 1 评论 -
二分查找讨论边界问题,找到目标数字的最小下标和最大下标
二分查找讨论边界问题,找到数组中目标数字的最小下标和最大下标问题描述最小下标min求法最大下标max求法问题描述给定一个数组 nums 按升序排列,例如:[5,6,7,8,9,9,9,10] 找出目标值 target =9 的数组最小下标min和最大下标 max。即 min = 4 max = 6。最小下标min求法思路 :不断地减小右边界,找最小下标,当中间数字大于target,我们减小右边界,当 中间数字等于target,我们也要减小右边界。只有中间数字小于target,我们增大左边界。这里要将原创 2020-06-20 14:36:25 · 787 阅读 · 0 评论