• hdu 1280 前m大的数 (hash)


    点击打开链接

    型的hash: 用数组下标表示两两相加所得到的和,开辟一个满足题意的大小的数组 sum,

    hdu <wbr>1280这样下标由大到小输出m个就可以 */

    #include <stdio.h>
    #include <string.h>
    int main ()
    {
        int a[3001];
        int sum[10010];
        int n, m;
    	int i,j;
        while ( scanf ("%d %d", &n, &m) != EOF )
        {
    		memset ( a, 0, sizeof (a) );
    		memset ( sum, 0, sizeof (sum) );
    		for ( i = 0; i < n; i ++ )
    		{
    			scanf ("%d", &a[i]);
    		}
    		
    		int temp;
    		for ( i = 0; i < n; i ++ )
    		{
    			for ( j = i + 1; j < n; j++ )
    			{
    				temp = a[i] + a[j];
    				sum[temp] ++;
    			}
    		}
    		
    		int count = 0;      //输出前 m  个数
    		for ( i = 10001; i >= 0 ; i -- )
    		{
    			if ( sum[i] )
    			{
    				for (j = 0; j < sum[i]; j ++)
    				{
    					count ++;
    					count == 1 ? printf ("%d", i) : printf (" %d", i);
    					if ( count == m )
    						break;
    				}
    			}
    			if ( count == m )
    				break;
    		}
    		
    		printf ("\n");
        }
    	return 0;
    }


  • 相关阅读:
    ApplicationContext.xml修改
    springmvc.xml约束
    log4j.properties
    SqlMapConfig.xml配置文件
    Mybatis注解式开发坐标
    字符串函数
    vim基础快捷键
    format的使用
    lambda匿名函数
    字典的基础使用
  • 原文地址:https://www.cnblogs.com/yyf573462811/p/6365188.html
Copyright © 2020-2023  润新知