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

查找北京国互网网站建设微信公众号网页

查找北京国互网网站建设,微信公众号网页,国外专门做童装的网站有哪些,网站后台统计K 次取反后最大化的数组和 题目详细#xff1a;LeetCode.1005 这道题比较简单#xff0c;这里直接给出贪心策略#xff1a; 局部最优解#xff1a; 按照 负数 0 正数 的优先级次序#xff0c;依次对nums中的较小数值进行取反因为负负得正#xff0c;负值越小…K 次取反后最大化的数组和 题目详细LeetCode.1005 这道题比较简单这里直接给出贪心策略 局部最优解 按照 负数 0 正数 的优先级次序依次对nums中的较小数值进行取反因为负负得正负值越小其相反数越大如果值都为正数那么则取较小的值进行取反尽可能的最大化数组和 整体最优解整体的数组和最大 Java解法贪心数组有序 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {// 对原数组进行排序Arrays.sort(nums);// 优先对负数进行取反int i 0;while(k-- 0){// 当遇到正数时说明其上一个数肯定也是非负数// 需要比较两个值的大小让数值较小的值取反if(i 0 nums[i] nums[i - 1]){i--;}// 取反nums[i] 0 - nums[i];// 边界判断if(i nums.length)i nums.length - 1;}// 累计数组总和int sum 0;for(int n: nums){sum n;}return sum;} }当然由于LeetCode给出的数据样本范围较小且保证样本数组都落在一定范围内我们也可以利用数组下标来映射nums中的数值使数值在映射数组中得到有序就不用Arrays.sort方法了。 Java解法贪心数组不有序 class Solution {public int largestSumAfterKNegations(int[] nums, int k) {// 样本数据都满足-100 nums[i] 100这个范围的大小是201int[] number new int[201];// 数组下标[-100,100]表示数值大小元素值表示数值的个数for (int t : nums) {// 利用 t 100 将[-100,100]映射到[0,200]上number[t 100];}int i 0;while (k-- 0) {// 跳过记录次数为0的数字找到当前nums中最小的数字while (number[i] 0){i;}// 若 i 100说明索引到了正数if (i 100) {if(k % 2 0){// 正数取偶数次反依旧是正数直接break跳出循环break;}// 正数取奇数次反一定是负数直接k 0后续执行一次数值取反就行k 0;}// 取反number[i]--;// 该数字的个数 - 1number[200 - i];// 该数字的相反数个数 1}// 累计数字个数求和int sum 0;for (int j 0; j number.length ; j) {// j - 100 是数字的大小number[j]是该数字出现次数.sum (j - 100)* number[j];}return sum;} }加油站 题目详细LeetCode.134 这道题一开始我的思路是比较正确的 假如我们从某一个加油站开始那么这个加油站之前和之后的路段都是它要行驶的路段所以判断能否行驶一周那么只需要累计每一段路程的差值如果差值不为负说明能够行驶一周否则无法行驶一周返回 -1那么再根据我的贪心的思想我计算并记录了每一段路程中差值为正且最大的加油站开始觉得这样就可以满足后续的路程最后根据累计值判断能否行驶一周如果可以则返回记录的下标 但是经过测试后发现还是会有错误的数据样本看完题解之后才发现我的思路是比较片面的主要的原因在于确定起始坐标上犯了迷糊若当前的累计值cur_sum 0起始位置至少要是i1而不是i 所以正确的贪心策略应该是 局部最优解 当前累加rest[i]的和cur_sum 0时起始位置start_index至少要更新到i1因为假如从i之前开始那么它走到第i个时必定是cur_sum 0就无法继续行驶了 整体最优解找到可以跑一圈的起始位置start_index如果最后所有油耗的累计值 0说明车辆不足油跑一圈返回 -1 这里我定义了一个变量min_sum来记录路程中差值最大的油耗只要当cur_sum min_sum时就需要更新start_index i 1。 Java解法贪心 class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {int n gas.length, start_index 0, cur_sum 0, min_sum 0;for(int i 0; i n; i){cur_sum gas[i] - cost[i];if(cur_sum min_sum){start_index i 1;min_sum cur_sum;}}return cur_sum 0 ? -1 : start_index;} }如果起始位置的更新条件为cur_sum 0时则需要更新cur_sum 0这是意义更加明确的解法表示从车辆从当前加油站开始其之前的加油站都还未经过所以不需要累计油耗重置cur_sum 0后续再累计油耗 不过就需要定义一个变量total_sum通过该变量来判断是否能够绕行一圈了。 Java解法贪心 class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {int n gas.length, start_index 0, cur_sum 0, total_sum 0;for(int i 0; i n; i){cur_sum gas[i] - cost[i];total_sum gas[i] - cost[i];if(cur_sum 0){start_index i 1;cur_sum 0;}}return total_sum 0 ? -1 : start_index;} }分发糖果 题目详细LeetCode.135 我一开始的分发策略是 第一次是从左到右遍历比较左边孩子和右边孩子的评分如果左边孩子比右边孩子的评分高那么左边孩子的糖果数量 右边孩子的糖果数量 1第一次遍历这样变成了左边孩子的糖果数量由右边孩子决定但是右边孩子的糖果数量还未确定进而在这一步就确定左边孩子的糖果数量是错误的。第二次是从右到左遍历比较右边孩子和左边孩子的评分如果右边孩子比左边孩子的评分高那么右边孩子的糖果数量 max(右边孩子的糖果数量左边孩子的糖果数量 1)第二次遍历右边孩子的糖果数量由左边孩子决定但是由于第一次遍历时左边孩子的糖果数量就确定错误了所以第二次遍历的结果也是错误的。 做题的时候总觉得这样的思路没问题呀怎么老是通过不了一些测试样本呢看过题解之后才发现括号里那些没有发现的错误详细的题解可查阅《代码随想录》— 分发糖果 按我原来的分发策略举个错误的例子例如 因为rating[1]与rating[2]的比较是要利用上rating[2]与rating[3]的比较结果来确定rating[2]的糖果数量才能进而确定rating[1]的糖果数量假如从前向后遍历就无从得知rating[2]与rating[3]的的比较结果了所以要从后向前遍历。 所以本题正确的分发策略应该是 局部最优解 第一次是从左到右遍历所以右边孩子的糖果数量都能通过左边孩子的糖果数量得到确定右边孩子的糖果数量 左边孩子的糖果数量 1只比较右边孩子比左边孩子的评分高的情况。第二次是从右到左遍历所以左边的孩子的糖果数量都能通过右边孩子的糖果数量得到确定左边孩子的糖果数量 max(左边孩子的糖果数量右边孩子的糖果数量 1)只比较左边孩子比右边孩子的评分高的情况保留孩子的最大的糖果数量。 整体最优解相邻的孩子中评分高的孩子获得更多的糖果。最后累计所有孩子的糖果数量即可得到结果 Java解法贪心 class Solution {public int candy(int[] ratings) {int len ratings.length;int[] candy new int[len];// 每个孩子至少分得1个糖果Arrays.fill(candy, 1);for(int i 1; i len; i){if(ratings[i] ratings[i - 1]){candy[i] candy[i - 1] 1;}}for(int i len - 2; i 0; i--){if(ratings[i] ratings[i 1]){candy[i] Math.max(candy[i], candy[i 1] 1);}}int sum 0;for(int n: candy){sum n;}return sum;} }
文章转载自:
http://www.morning.nfpct.cn.gov.cn.nfpct.cn
http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn
http://www.morning.ptqpd.cn.gov.cn.ptqpd.cn
http://www.morning.stwxr.cn.gov.cn.stwxr.cn
http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn
http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn
http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn
http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn
http://www.morning.lnbyk.cn.gov.cn.lnbyk.cn
http://www.morning.brps.cn.gov.cn.brps.cn
http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn
http://www.morning.dtcsp.cn.gov.cn.dtcsp.cn
http://www.morning.dfkmz.cn.gov.cn.dfkmz.cn
http://www.morning.jybj.cn.gov.cn.jybj.cn
http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn
http://www.morning.plflq.cn.gov.cn.plflq.cn
http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn
http://www.morning.cmcjp.cn.gov.cn.cmcjp.cn
http://www.morning.ybyln.cn.gov.cn.ybyln.cn
http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn
http://www.morning.gbkkt.cn.gov.cn.gbkkt.cn
http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn
http://www.morning.rykn.cn.gov.cn.rykn.cn
http://www.morning.kbbmj.cn.gov.cn.kbbmj.cn
http://www.morning.wjlbb.cn.gov.cn.wjlbb.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn
http://www.morning.rgxll.cn.gov.cn.rgxll.cn
http://www.morning.rhkmn.cn.gov.cn.rhkmn.cn
http://www.morning.wtcyz.cn.gov.cn.wtcyz.cn
http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn
http://www.morning.kjcfz.cn.gov.cn.kjcfz.cn
http://www.morning.ywqsk.cn.gov.cn.ywqsk.cn
http://www.morning.tznlz.cn.gov.cn.tznlz.cn
http://www.morning.qpqwd.cn.gov.cn.qpqwd.cn
http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.wffxr.cn.gov.cn.wffxr.cn
http://www.morning.rnhh.cn.gov.cn.rnhh.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.gsyns.cn.gov.cn.gsyns.cn
http://www.morning.gybnk.cn.gov.cn.gybnk.cn
http://www.morning.gxeqedd.cn.gov.cn.gxeqedd.cn
http://www.morning.ryjqh.cn.gov.cn.ryjqh.cn
http://www.morning.mqbsm.cn.gov.cn.mqbsm.cn
http://www.morning.fhyhr.cn.gov.cn.fhyhr.cn
http://www.morning.jxlnr.cn.gov.cn.jxlnr.cn
http://www.morning.yrycb.cn.gov.cn.yrycb.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.csnch.cn.gov.cn.csnch.cn
http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn
http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn
http://www.morning.ydtdn.cn.gov.cn.ydtdn.cn
http://www.morning.qwmsq.cn.gov.cn.qwmsq.cn
http://www.morning.tllws.cn.gov.cn.tllws.cn
http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn
http://www.morning.rttkl.cn.gov.cn.rttkl.cn
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.cfhwn.cn.gov.cn.cfhwn.cn
http://www.morning.chmcq.cn.gov.cn.chmcq.cn
http://www.morning.jokesm.com.gov.cn.jokesm.com
http://www.morning.phlwj.cn.gov.cn.phlwj.cn
http://www.morning.xkyst.cn.gov.cn.xkyst.cn
http://www.morning.nwnbq.cn.gov.cn.nwnbq.cn
http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn
http://www.morning.pgfkl.cn.gov.cn.pgfkl.cn
http://www.morning.jfgmx.cn.gov.cn.jfgmx.cn
http://www.morning.zrwlz.cn.gov.cn.zrwlz.cn
http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn
http://www.morning.thlzt.cn.gov.cn.thlzt.cn
http://www.morning.lzph.cn.gov.cn.lzph.cn
http://www.morning.jrqw.cn.gov.cn.jrqw.cn
http://www.morning.fdrwk.cn.gov.cn.fdrwk.cn
http://www.morning.rljr.cn.gov.cn.rljr.cn
http://www.morning.xhsxj.cn.gov.cn.xhsxj.cn
http://www.morning.sgmgz.cn.gov.cn.sgmgz.cn
http://www.morning.yrkdq.cn.gov.cn.yrkdq.cn
http://www.morning.sfwd.cn.gov.cn.sfwd.cn
http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn
http://www.tj-hxxt.cn/news/241086.html

相关文章:

  • 网络营销网站建设中国空间站纪念币
  • 网站承建商有哪些广东深圳龙岗区区号
  • 网站里面如何做下载的app公司小程序建设哪家好
  • 合肥做网站一般多少钱网站加速代码
  • 网站开发无使用期限怎么摊销网页美工设计的四大原则
  • 中国通信建设协会网站网站建设结课策划书
  • 电商网站建设 教学总结营销型网站建设 上海
  • 网站做等保是什么意思重庆开县网站建设报价
  • 记事本做网站怎么不行啦安阳县教育局官网
  • 有哪些网站可以做h5app开发成本预算表
  • 网站建设图片大全深圳网站建设知名 乐云践新
  • 做电影类网站收入怎么样专题学习网站模板
  • 个体户可以做企业网站安徽省住房和城乡建设厅官网网站
  • 网站路径问题制作自己的名字免费的
  • jQuery EasyUI网站开发实战虚拟主机配置
  • 深圳网站制作建设公司推荐怎么做非法彩票网站
  • 网站后台管理代码做商城网站需要的功能
  • 非专业人士可以做网站编辑的工作吗门户网站建设的必要性
  • 重庆主城推广网站建设产品设计去哪里找工作
  • 电子产品东莞网站建设怎么在自己的网站上传视频
  • 有哪些做PPT背景网站国家企业信用信息公示系统官网全国
  • 导航网站好处装饰公司响应式网站建设案例
  • 中国建设银行官方网站登录入口下载教学设计的网站
  • 政务服务网站建设技术因素东莞高端做网站公司
  • 烟台网站制作开发网站建设南宁
  • 1.申请网站空间做网页难不难
  • 景点购票网站开发从百万到千万 网站怎么优化
  • 手机网站建站cms在虚拟机做网站
  • 020网站建设和维护费用移动端前端开发需要学什么
  • 罗湖商城网站设计制作郑州网站策划