原文:删除K个数字后的最小值(贪心算法实现)

给出一个整数,从该整数中去掉k个数字,要求剩下的数字形成的新整数尽可能小。应该如何选取被去掉的数字 其中,整数的长度大于或等于k,给出的整数的大小可以超过long类型的数字范围。 思路: 把原整数的所有数字从左到右进行比较,如果发现某一位数字大于它右面的数字,那么在删除该数字之后,必然会使该数位的值降低。这种求 局部最优解,最终得到全局最优解的思想,叫作 贪心算法 。 如果要删除k个数字,那么将 ...

2019-09-13 18:49 0 354 推荐指数:

查看详情

算法导论----贪心算法删除k个数,使剩下的数字最小

先贴问题: 1个n位正整数a,删去其中的k位,得到一个新的正整数b,设计一个贪心算法,对给定的a和k得到最小的b; 一.我的想法:先看例子:a=5476579228;去掉4位,则位数n=10,k=4,要求的最小数字b是n-k=6位的; 1、先找最高位的数,因为是6位数字,所以最高位不可能 ...

Sat Dec 17 05:16:00 CST 2016 0 1964
算法学习——贪心算法之删数字(求最大

算法描述 在给定的n位数字删除其中的k数字k < n),使得最后的n-k数字为最大(原次序不变) 算法思路 考虑到是要移出数字,我们使用链表设计此算法较为方便,链表可以直接移出某个位置的元素 使用贪心算法,每一步都要达到最优 从最高 ...

Tue Oct 16 02:13:00 CST 2018 0 845
[Python]贪心算法-Prim-和-Kruskal实现-最小生成树

目标 在连通网的所有生成树中,找到所有边的代价和最小的生成树,简称最小生成树问题. (简要的来说,就是在AOV网中找出串联n个顶点代价总和最小的边集) 下面记录最小生成树的两种算法,Prim和Kruskal Prim算法思路 从任意一个顶点开始,每次选择与当前顶点最近的一个顶点,并将 ...

Sat Jun 27 20:33:00 CST 2020 0 743
贪心算法 ------最小延迟调度问题

1.最小延迟调度问题描述 f(i) 表示某任务 开始的时间。 ti 表示 某任务 加工的时间 di 表示 某任务 要求完成的时间 延迟: f(i)+ti-di 如果 实际完成的时间 小于 规定完成时间,那么,就没有 延迟。延迟就是拖延,如果你在规定时间内(<=规定 ...

Mon Oct 09 18:44:00 CST 2017 0 6921
贪心算法应用-最小生成树

  在一个有权连通图(网络)中,生成树的各边权之和称为生成树的代价。在网络的所有生成树中,权最小的那颗生成树称为最小代价生成树(Minimum Cost Spanning Tree),简称为最小生成树Minimum Spanning Tree)。讨论问题就是如何寻找一颗各边权的总和最小 ...

Mon Jul 24 23:55:00 CST 2017 0 1916
算法-贪心算法

贪心算法大学的时候就已经学过也弄过,可能周末确实没想到写什么,就顺手学了当年学习的知识,贪心算法(也称为贪婪算法),贪心算法总是作出在当前看来最好的选择。贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有 ...

Mon Dec 01 06:27:00 CST 2014 0 2528
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM