zoukankan      html  css  js  c++  java
  • 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。

    // ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    #include <numeric>
    #include<string>
    #include<limits>
    #include<stack>
    
    using namespace std;
    	struct Giftt
    	{
    		int money;
    		int num;
    	};
    
    class Gift {
    public:
    	int getValue(vector<int> gifts, int n) {
    		
    		vector<Giftt*> giftVec;
    		
    		int getMoney = -1;
    		for (int i = 0; i < gifts.size(); i++)
    		{
    			bool getflag = false;
    
    			for (int j = 0; j < giftVec.size(); j++)
    			{
    				
    				if (gifts[i] == (giftVec[j]->money))
    				{
    					getflag == true;
    					(giftVec[j]->num)++;
    					if ((giftVec[j]->num)>(n / 2 ))
    					{
    						 	getMoney = j;
    						
    					}
    					break;
    				
    				}
    			}
    			
    			if (getMoney != -1)
    			{
    				break;
    			}
    			if (getflag == false)
    			{
    				Giftt *fg = new Giftt;
    				fg->money = gifts[i];
    				fg->num=1;
    				giftVec.push_back(fg);
    			}
    		}
    		if (getMoney == -1) return 0;
    		else return giftVec[getMoney]->money;
    	}
    };
    
    int main() {
    	
    	vector<int> gifts = { 1,2,3,2,2 };
    	Gift gg;
    	cout << gg.getValue(gifts, 5) << endl;
    	return 0;
    
    }
  • 相关阅读:
    git常用命令
    IDEA设置
    redis基础
    SQL 基础
    springboot 配置日志 打印不出来sql
    阿里巴巴开发规范最新版
    rabbitmq用户权限
    rabbitMQ配置文件
    RabbitMQ配置文件(rabbitmq.conf)
    C++模板编程:如何使非通用的模板函数实现声明和定义分离
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6497593.html
Copyright © 2011-2022 走看看