摘要:
在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 示例 1: 输入: [ [1,3,1], [1,5,1 阅读全文
posted @ 2020-05-07 22:20
江雨牧
阅读(249)
评论(0)
推荐(0)
摘要:
思路:如果n个数本身是随机的,那么直接输出头m个数即可;但事实上并不知道这n个数本身是不是随机排列,所以可以用某种方法让前面m个数变成随机的,然后直接输出前m个数。方法即是产生随机数random,然后将a[random]与前面的a[i]交换,i为0、1、2……m。比如第一次,是将a[random]与 阅读全文
posted @ 2020-05-07 17:23
江雨牧
阅读(1354)
评论(0)
推荐(0)
摘要:
数组int a[],元素个数为n,求a[j]/a[i]的最小值,其中0<i<j<n,时间复杂度要求为O(n)。 思路:a[i]的值应当尽量大,而且应该为j前面最大的那个,所以遍历数组的时候,每个元素都除以其前面的最大的那个元素而不用除以其前面的每一个元素。 1 int maxnum(int a[], 阅读全文
posted @ 2020-05-07 00:06
江雨牧
阅读(215)
评论(0)
推荐(0)

浙公网安备 33010602011771号