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

网站建设英文版南京最新情况最新消息今天

网站建设英文版,南京最新情况最新消息今天,网站后台登陆密码忘记了,网站建设公司哪家好 要上磐石网络文章目录 Minimum Operations to Halve Array Sum 将数组和减半的最少操作次数问题描述#xff1a;分析代码TLE优先队列 Tag Minimum Operations to Halve Array Sum 将数组和减半的最少操作次数 问题描述#xff1a; 给你一个正整数数组 nums 。每一次操作中#xff0c;你… 文章目录 Minimum Operations to Halve Array Sum 将数组和减半的最少操作次数问题描述分析代码TLE优先队列 Tag Minimum Operations to Halve Array Sum 将数组和减半的最少操作次数 问题描述 给你一个正整数数组 nums 。每一次操作中你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。注意在后续操作中你可以对减半过的数继续执行操作 请你返回将 nums 数组和 至少 减少一半的 最少 操作数。 1 n u m s . l e n g t h 1 0 5 1 n u m s [ i ] 1 0 7 1 nums.length 10^5\\ 1 nums[i] 10^7 1nums.length1051nums[i]107 分析 目标是将数组的和减少到原始数组和的一半而且是最小的操作数。 一次操作可以选任意的元素减半而且可以重复选择某个下标的元素。所以几乎不存在限制。 也就是说一定在经过若干次操作后可以达到目标。 记原始数组和为 s u m sum sum那么目标就是 h a l f s u m / 2 half sum/2 halfsum/2; 但是问题是要求最少的所以细化一下目标 如果最后一次的操作使得最新的数组和 s ′ h a l f shalf s′half说明这是最后一次操作同样如果 s ′ h a l f shalf s′half,也是说明最后一次操作。如果 s ′ h a l f shalf s′half,说明还需要进行操作。 而且为了使得能够尽快使 s ′ s s′靠近到目标 h a l f half half每次一定是选择当前数组中的 m a x max max进行操作。 暴力 如果是暴力的算法就是每次选择最大然后减半放回去再找一次最大循环往复。 每次找数组的最大值的时间复杂度 O ( N ) O(N) O(N),而且要达到目标需要操作N次整体的时间复杂度为 O ( N 2 ) O(N^2) O(N2). 所以这个暴力的时间复杂度有TLE的风险。 优先队列 所以就需要进行加速而唯一能选的就是优先队列。 在优先队列中的维护一个最大值或最小值的平均时间复杂度是 O ( l o g N ) O(logN) O(logN),所以整体的时间复杂度就会降低到 O ( N l o g N ) O(NlogN) O(NlogN). 同时需要注意的是数据的范围以及精度。 代码 TLE public int halveArray(int[] nums) {Double tot 0.0;int n nums.length;Double[] arr new Double[n];for(int i 0;in;i){arr[i] nums[i]*1.0;tot arr[i];}Double half tot*0.5;int ans 0;for(int i 0;in;i){if(half0) break;int id 0;double max arr[id];for(int j 0;jn;j){if(arr[j]max){max arr[j];id j;}}arr[id] * 0.5;half - arr[id];ans;}return ans;} 时间复杂度 O ( N 2 ) O(N^2) O(N2) 空间复杂度 O ( 1 ) O(1) O(1) 优先队列 public int halveArray(int[] nums) {PriorityQueueDouble pq new PriorityQueueDouble((a,b)-{return b.compareTo(a);});Double tot 0.0;for(int num: nums){Double t num*1.0;tott;pq.offer(t);} Double half tot*0.5;int ans 0;while(half0!pq.isEmpty()){Double t pq.poll();t *0.5;half - t;ans;pq.offer(t);}return ans;}时间复杂度 O ( N l o g N ) O(NlogN) O(NlogN) 空间复杂度 O ( N ) O(N) O(N) Tag Array Greedy Heap
http://www.hkea.cn/news/14542596/

相关文章:

  • 贵阳网站建设哪家公司好做哪个网站比较有流量
  • 网站建设中有关数据库问题重慶网站建设
  • 锚文本外链查询网站网站建设中 页面源代码
  • 南京网站建设 小程序wordpress数据库备份到本地
  • 制作演示网站竭诚网络网站建设价格
  • 厦门市建设局网站摇号网站空间域名是什么
  • 做好公众号 网站建设公司黄页是官网吗
  • 贸易公司广告网站找快照网站查询
  • 专业网站建设网站推广网站飘动广告代码
  • 吉林省建设厅安全证查询网站适合写个人博客的平台
  • 做网站运维应该看的书网页制作app软件
  • 揭阳网站制作维护模板网页生成
  • 淘宝网站建设目标做网站还要做点手机吗
  • 网站做的最好的网站有哪些电商seo是指
  • 自建营销型企业网站免费wordpress商城主题下载地址
  • 如何做网站不被查肇庆网站建设cz0758
  • 家政网站建设方案wordpress ?cat=
  • mvc 网站建设搜索关键词排名优化技术
  • 做智能家居网站好牛网站建设
  • 重庆建站模板搭建国家电网账号注册网站帐号是什么
  • 南京江宁区住房建设局网站什么网站建设效果好
  • 公司网站报价品牌网站建设专业定制
  • 比较多人用什么网站做推广深圳建设局网站
  • 广州奕联网站开发wordpress主题教程黄聪
  • 网站建设收费标准教程page怎么转换wordpress
  • 如何做好网站内容优化名创 网站建设
  • 建材企业网站模板二级域名网站可以做关键词优化吗
  • 做网站用微软雅黑迅睿cms建站
  • 昆明做网站建设的公司服务器免费
  • 专业建设润滑油网站化妆品做网站流程