当前位置: 首页 > news >正文

湖南网站设计外包哪家好江苏省建设局官方网站查询

湖南网站设计外包哪家好,江苏省建设局官方网站查询,wordpress 元素用处,html网页设计思路题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你可以对数组执行 至多 k 次操作#xff1a; 从数组中选择一个下标 i #xff0c;将 nums[i] 增加 或者 减少 1 。最终数组的频率分数定义为数组中众数的 频率 。请你返回你可以得到的 最大 频率分数。 众数…题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你可以对数组执行 至多 k 次操作 从数组中选择一个下标 i 将 nums[i] 增加 或者 减少 1 。最终数组的频率分数定义为数组中众数的 频率 。请你返回你可以得到的 最大 频率分数。 众数指的是数组中出现次数最多的数。一个元素的频率指的是数组中这个元素的出现次数。 示例 1 输入nums [1,2,6,4], k 3 输出3 解释我们可以对数组执行以下操作 - 选择 i 0 将 nums[0] 增加 1 。得到数组 [2,2,6,4] 。 - 选择 i 3 将 nums[3] 减少 1 得到数组 [2,2,6,3] 。 - 选择 i 3 将 nums[3] 减少 1 得到数组 [2,2,6,2] 。 元素 2 是最终数组中的众数出现了 3 次所以频率分数为 3 。 3 是所有可行方案里的最大频率分数。示例 2 输入nums [1,4,4,2,4], k 0 输出3 解释我们无法执行任何操作所以得到的频率分数是原数组中众数的频率 3 。提示 1 nums.length 1051 nums[i] 1090 k 1014 解题思路 先看一下滑动窗口的代码 class Solution:def maxFrequencyScore(self, nums: List[int], k: int) - int:nums.sort() # 排序数组max_freq 1 # 至少有一个数的频率l 0 # 窗口的左边界total 0 # 窗口内所有数变为窗口内最大数所需的总操作次数# r为窗口的右边界for r in range(len(nums)):# 将nums[r]加入窗口total nums[r]# 如果窗口内所有数变为nums[r]所需的操作次数超过k# 则移动左边界直到操作次数不超过kwhile nums[r] * (r - l 1) total k:total - nums[l]l 1# 更新最大频率max_freq max(max_freq, r - l 1) 每次以nums[right]作为变化的基准数不是最优策略可以优化为二分查找中位数 假定所有的 nums[i]均位于数轴上的 nums[i]的位置题目要求我们在数轴上找出一个点 t使得所有 nums[i]到 t 的距离之和最小。首先容易证明 t 不可能位于最小的nums[i]的左侧也不可能位于最大的 nums[i]的右侧否则我们「至少」能够将目标点调整为 最小的 nums[i]或 最大的 nums[i] 来得到更小的距离总和。 t 取中位数时距离之和最小。可以通过「反证法」证明略 total用累加的方式不是最优的方案数据量大时会超时可以优化为前缀和 class Solution:def maxFrequencyScore(self, nums: List[int], k: int) - int:nums.sort()left 0res 0n len(nums)# 计算前缀和prefix_sum [0]for num in nums:prefix_sum.append(prefix_sum[-1] num)def calculateCost(mid, left, right):cost_left nums[mid] * (mid - left) - (prefix_sum[mid] - prefix_sum[left])cost_right (prefix_sum[right 1] - prefix_sum[mid 1]) - nums[mid] * (right - mid)return cost_left cost_rightfor right in range(n):mid (left right) // 2# 当前窗口内将所有元素变为 nums[mid] 需要的操作次数while calculateCost(mid, left, right) k:# 如果操作次数超过 k则移动窗口左边界left 1mid (left right) // 2# 更新最大频率res max(res, right - left 1)return res 中位数贪心 右边数字为难度分 先刷462再刷2448 462. 最小操作次数使数组元素相等 II2033. 获取单值网格的最小操作数 16722448. 使数组相等的最小开销 2005 class Solution:def minCost(self, nums: List[int], cost: List[int]) - int:a sorted(zip(nums, cost))#cost可以理解为cost个nums[i]这样问题就转化为了中心数贪心问题s, mid 0, (sum(cost) 1) // 2for x, c in a:s cif s mid:return sum(abs(y - x) * c for y, c in a) # 把所有数变成 x 2607. 使子数组元素和相等 20711703. 得到连续 K 个 1 的最少相邻交换次数 2467
http://www.huolong8.cn/news/297590/

相关文章:

  • 无锡建网站企业优质的网站建设案例
  • 手机苗木网站源码临海大经建设集团网站
  • 网站设计对网站搜索引擎友好性的影响六安网约车
  • 申请网站免费一旦开战最危险的城市
  • 建设银行网站会员怎么注册wordpress设置视频图片不显示图片
  • 网站上传该怎么做网页版微信二维码几分钟失效
  • 网站备案名称几个字电商设计模板
  • 高端网站设计高端网站制作网站的整体规划怎么写
  • 为什么做街舞网站软件开发模型不包括
  • 自己建立网站后怎么做淘客正规品牌网站设计品牌
  • 浙江品牌网站建设百度域名解析
  • 扬州市住房和城乡建设网站可以做商品砍价的网站
  • 全球排名前十网站网络营销的八大职能
  • 电影网站vps服务器如何申请域名注册
  • 网站动画效果怎么做的哪家装修公司比较好的
  • 提供网站建设备案管理咨询公司项目运作流程
  • app网站建设软件饭店营销方案怎样快速引客
  • 做婚介网站可行性报告模板海北公司网站建设
  • 网站安全建设情况报告做外贸铝材哪个网站比较好
  • 网站建设制作开发 小程序开发定制 软件系统开发怎么用eclipse做网页
  • 网站卡密代理怎么做骗子会利用钓鱼网站做啥
  • 网站建设所需要的东西织梦做的网站有点慢
  • 门户网站开发教程wordpress 论坛插件
  • 凡科做网站需要备案吗肥城做网站
  • 在北京做网站制作一个月多少钱网站建设服务协议
  • 西安开发网站的公司牛商网做的网站怎么样
  • 休闲食品网站建设规划书微信公众平台内做网站
  • 长宁房产网站建设重庆有哪些做网站公司
  • 网站建设项目签约仪式举行苏州公司网站
  • 外贸网站都有那些为审核资质帮别人做的网站