随笔分类 -  算法

摘要:思路:如果n个数本身是随机的,那么直接输出头m个数即可;但事实上并不知道这n个数本身是不是随机排列,所以可以用某种方法让前面m个数变成随机的,然后直接输出前m个数。方法即是产生随机数random,然后将a[random]与前面的a[i]交换,i为0、1、2……m。比如第一次,是将a[random]与 阅读全文
posted @ 2020-05-07 17:23 江雨牧 阅读(1363) 评论(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 江雨牧 阅读(219) 评论(0) 推荐(0)