做题收获1

简介: 做题收获

做题收获

1.数学从条件推出结果,一步步求结果。但是计算机因为其特点,可以从结果逆推

求一组数字两两配对,和相同,能配多少组

  1. 一开始我直接从条件推,用双指针直接比对一组组的数据,得出和相同的可能,但是时间复杂度过高,因此error
  2. 然后从结果逆推枚举,从题目中可以得到和的范围:<101,然后输入的时候把数据作为下标录入进去,不断凑组合,比较出现的次数。比如:n是5,max<11,从0-11不断枚举,sum=3时,min(a(1),a(2))
package _9yue4;
import java.util.Scanner;
public class A2 {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    int t=sc.nextInt();
    while(t-->0) {
      int n=sc.nextInt();
      int arr[]=new int [101];//这里存放权重数字
      for (int i = 0; i < n; i++) {
        arr[sc.nextInt()]++;//作为下标统计人数
      }
      int max=-1;
      for (int i = 2; i <= 2*n; i++) {//权重1-n,所以和2-2*n
        int sum=0;
        for (int j = 1; j <i; j++) {
          sum+=Math.min(arr[j], arr[i-j]);  
          //找出和相同的情况下的 不同组合可能数
        }
        max=max>sum?max:sum;
      }
      System.out.println(max/2);//因为一组数字成对出现,所以除以2,
      //此外,sum=6 (3,3)这种情况因为是不进位除法可以直接排除掉了
    }
  }
}
相关文章
|
8月前
|
SQL 关系型数据库 MySQL
几道常见面试问题总结(二)
几道常见面试问题总结(二)
|
8月前
|
存储 网络协议 测试技术
复习软考之精读真题题解,猜猜这是哪年的真题吧
复习软考之精读真题题解,猜猜这是哪年的真题吧
49 0
|
8月前
|
存储 Go 调度
听说90%的人都没搞定手撕协程池这道面试题!
听说90%的人都没搞定手撕协程池这道面试题!
109 1
|
8月前
|
设计模式 算法 安全
【周末闲谈】剑指offer,了解面试,学会面试
【周末闲谈】剑指offer,了解面试,学会面试
74 0
|
算法 程序员
程序员可能越来越排斥面试时做题的原因
程序员可能越来越排斥面试时做题的原因
215 1
|
存储 安全 小程序
软件测试面试题及答案,这些可以白嫖的题目确定不收藏?
对于软件测试培训人员来说,除了掌握好专业的理论知识和技术,最重要的面试准备也是少不了的,毕竟面试可是大家正式进入软件行业的拦路虎,所以,在正式面试前,相关的软件测试面试题真题以及答案也一定要背一背!
164 0
|
算法 测试技术 Android开发
LeetCode 周赛 332,在套路里摸爬滚打~
大家好,今天是 3T 选手小彭。上周是 LeetCode 第 332 场周赛,你参加了吗?算法解题思维需要长时间锻炼,加入我们一起刷题吧~
92 0
|
缓存 算法 BI
17数据结构与算法刷题之【模拟题】篇
17数据结构与算法刷题之【模拟题】篇
17数据结构与算法刷题之【模拟题】篇
|
存储 人工智能 算法
【程序员刷题必备 | 《剑指offer》】(二)
【程序员刷题必备 | 《剑指offer》】(二)
177 0