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

网站建设服务套餐2008r2 iis网站验证码不显示

网站建设服务套餐,2008r2 iis网站验证码不显示,内蒙古自治区建设厅网站首页,网站图片尺寸在编程竞赛#xff0c;尤其是参与蓝桥杯的过程中#xff0c;遇到各种问题需求是家常便饭。最近#xff0c;我遇到了一个非常有趣且颇具挑战性的算法问题。问题描述如下#xff1a;对于一个长度为n的数组#xff08;n是10的倍数#xff09;#xff0c;数组中的每个元素均…在编程竞赛尤其是参与蓝桥杯的过程中遇到各种问题需求是家常便饭。最近我遇到了一个非常有趣且颇具挑战性的算法问题。问题描述如下对于一个长度为n的数组n是10的倍数数组中的每个元素均为区间内的整数。任务是通过对数组中的元素进行调整使得每个元素出现的次数都相同即每种数各出现n/10次同时需要保证调整的总代价最小。 在初始阶段我差点就被这个问题难住了。问题本身看似简单——让每种数字出现频率相等但实际要找到最小代价的实现却需要深思熟虑的策略。毕竟单纯的试错代价过于巨大我们必须要有明确的方向性。 算法思路如下 首先需要对数组中的每个数字进行计数明确各数字出现的次数。其次要明确每次更改操作的代价。这意味着我们需要为数组中的每个元素ai记录一个更改代价bi。然后考虑如何以最小代价达到目标状态。由于频率超出或低于目标频率n/10的元素都需要调整因此我们需要采取一个有效策略以保证在必要时优先调整代价最小的元素。 解决方案 我采用了贪心算法来逐渐接近目标状态。贪心算法在多种情况下都极为有效尤其是在需要进行多步决策的问题中我们可以在每一步选择当前最优的解决方案。 为了实现这个策略我创建了一个按照bi排序的元素列表来保证在调整过程中我们总是优先选择调整代价较低的元素。通过不断的选择最小代价的元素进行调整我得以逐步使每个数字的出现次数向目标值n/10靠近直至达成平衡。 在编程实践中我遇到了一些边缘情况比如当多个数字的出现次数都超出或低于目标频率n/10时选择哪一个调整就变得更为微妙我不得不在算法中添加额外的逻辑来处理这些情况。 在无数次的调试、优化后我的算法成功通过了所有测试用例并且在实际比赛中取得了不错的成绩。这个问题不仅提升了我的算法设计能力更重要的是教会了我在面对挑战时不断探索和实践的重要性。 import java.util.*;public class BalanceArray {static class Pair {int num;int cost;Pair(int num, int cost) {this.num num;this.cost cost;}}public static int minCostToBalance(int[] nums, int[] costs) {int n nums.length;int target n / 10;int totalCost 0;int[] frequency new int[10];ListPair pairs new ArrayList();// 统计每个数字的出现频率并创建代价数组for (int i 0; i n; i) {frequency[nums[i]];pairs.add(new Pair(nums[i], costs[i]));}// 按照代价进行排序pairs.sort(Comparator.comparingInt(pair - pair.cost));// 调整频率高于和低于目标的数使得频率达到平衡for (int i 0; i pairs.size(); i) {Pair p pairs.get(i);while (frequency[p.num] target) {frequency[p.num]--;totalCost p.cost;}}// 若有数频率仍然过低需要从已降低数的集合中选择最小代价和进行调整for (int i 0; i pairs.size(); i) {Pair p pairs.get(i);while (frequency[p.num] target) {frequency[p.num];totalCost p.cost;}}return totalCost;}public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int[] nums new int[n];int[] costs new int[n];for (int i 0; i n; i) {nums[i] scanner.nextInt();costs[i] scanner.nextInt();}scanner.close();int result minCostToBalance(nums, costs);System.out.println(result);} } 总结我的学习经历关键在于理解了算法不仅是编程的一项基本技能更是一种可应用于各类问题解决的工具。勇于尝试、耐心思考和有效调整是走向成功的重要步骤。 随着时间的推进我对算法的理解将会更加深入而我相信在这个过程中我不仅会成为一个更出色的程序员也将不断增强解决实际问题的能力。在未来的编程之路上我期待遇到更多的挑战而这个问题无疑已经为我铺设了一段坚实的基石。
http://www.w-s-a.com/news/953158/

相关文章:

  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘
  • 做水利网站需要多少钱山东市网站建设
  • 做网站找哪里如何修改wordpress颜色
  • 招商加盟网站系统站长工具 seo查询
  • 工商局网站清算组备案怎么做电商培训机构
  • 做好门户网站建设做本地团购网站怎么样
  • wordpress主题和预览不同20条优化防疫措施方案
  • 艾奇视觉网站建设网站推广需要几个人做
  • 2008 iis 添加网站wordpress固定链接标签加上页面
  • 宁波企业网站制作推荐网站优化人员
  • 大型资讯门户网站怎么做排名沈阳建设工程有限公司
  • 开发中英文切换网站如何做江苏网站建设费用
  • 网站论文首页布局技巧桥东网站建设
  • 网站开发项目经理工资北京微信网站
  • 山西山西省建设厅网站微信备份如何转换为wordpress
  • 同城网站开发实用网站模板
  • 郑州做网站哪家公司好国外购买空间的网站有哪些
  • 资讯cms网站有那些餐饮品牌策划设计公司
  • 网站策划选题网站布局优化
  • 网站建设3000字wordpress 微信 主题制作
  • 代做寄生虫网站网站菜单效果
  • 网站备案为什么这么慢目录更新 wordpress
  • 视频在线制作网站Wordpress 外链图片6
  • 网站域名后缀有什么用网站建设的投资预算怎么写
  • 化妆品网站建设网站惠州网站关键字优化
  • 保定网站制作企业下载天眼查企业查询官网
  • 中山企业网站建设公司制作一个景点的网站
  • 连云港集团网站建设株洲建设网站
  • 做运动鞋评价的网站南山做网站联系电话