当前位置:   article > 正文

滑雪算法(贪心算法)的java和c的实现_滑雪板打包问题 c++一本通贪心算法

滑雪板打包问题 c++一本通贪心算法

java实现:

  1. public class Demo {
  2. /**
  3. * 计算区域最长长度
  4. *
  5. * Michael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,
  6. * 而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长底滑坡。
  7. * 区域由一个二维数组给出。数组的每个数字代表点的高度
  8. * 下面是一个例子
  9. * 1 2 3 4 5
  10. * 16 17 18 19 6
  11. * 15 24 25 20 7
  12. * 14 23 22 21 8
  13. * 13 12 11 10 9
  14. * 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。
  15. * 在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。
  16. *
  17. * 思路:1、先把各点的高度按照从小到大排序
  18. * 2、再依次从最小的点遍历,看它周围【上下左右】有没有比它高的点
  19. * 3、一旦有,就更新比它高的点的路径长度
  20. * 注意:最后输出的是路径长度而不是最长路径的起始高度
  21. * 由于开始时路径长度初始化为 0,所以最后的结果要 +1
  22. * @param all 存储所有区域高度数据
  23. * @return 区域最长长度
  24. */
  25. public int getMaxDistance(int[][] all) {
  26. int i = 0, j = 0, n = 0;
  27. int ilen = all.length;
  28. int jlen = all[0].length;
  29. int len = jlen * jlen;
  30. int maxDistan
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/790330
推荐阅读
相关标签
  

闽ICP备14008679号