本文主要是介绍每日一题《leetcode--398.随机数索引》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
https://leetcode.cn/problems/random-pick-index/
根据题目所知,所给的数组中有重复的元素。让我们随机输出给定的目标数字的下标索引。
typedef struct {int *sum;int length;
} Solution;Solution* solutionCreate(int* nums, int numsSize) {Solution* obj = (Solution*)malloc(sizeof(Solution));obj->sum = nums;obj->length = numsSize;return obj;
}int solutionPick(Solution* obj, int target) {int count = 0;int *num = (int*)malloc(sizeof(int)*obj->length);for(int i = 0; i< obj->length ; i++){if(target == obj->sum[i]){num[count++] = i;}}int ret = num[rand() % count];free(num);return ret;
}void solutionFree(Solution* obj) {free(obj);
}
这篇关于每日一题《leetcode--398.随机数索引》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!