春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。 给定一个红包的金额数组 gifts 及它的大小 n ,请返回所求红包的金额。 若没有金额超过总数的一半,返回0。 数据范围: ,红包金额满足
示例1
输入
[1,2,3,2,2],5
输出
2
示例2
输入
[1,1,2,2,3,3],6
输出
0
加载中...
import java.util.*; public class Gift { public int getValue(int[] gifts, int n) { // write code here } }
class Gift { public: int getValue(vector
gifts, int n) { // write code here } };
# -*- coding:utf-8 -*- class Gift: def getValue(self, gifts, n): # write code here
class Gift { public int getValue(int[] gifts, int n) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param gifts int整型一维数组 * @param n int整型 * @return int整型 */ function getValue( gifts , n ) { // write code here } module.exports = { getValue : getValue };
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param gifts int整型一维数组 * @param n int整型 * @return int整型 */ func getValue( gifts []int , n int ) int { // write code here }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param gifts int整型一维数组 * @param n int整型 * @return int整型 */ pub fn getValue(&self, gifts: Vec
, n: i32) -> i32 { // write code here } }
[1,2,3,2,2],5
2
[1,1,2,2,3,3],6
0