2020长亭面试题F题 数组运算

2024-05-02 22:08

本文主要是介绍2020长亭面试题F题 数组运算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description给你一个 nn 个数的数组 a_1 ,a_2, ..., a_n(无序)一次操作可以把两个数替换成这两个数的和。
比如数组 [2, 1, 4][2,1,4] 可以变成: [3, 4], [1, 6], [2, 5][3,4],[1,6],[2,5] 。
请问,在不限次合并操作之后,数组中最多能有多少个数可以被 3整除。Input
第一行包含一个整数t(1≤t≤1000) ,表示有 t 个样例每个样例的第一行有一个整数 n(1≤n≤100) 表示数组中数的个数, 第二行有 n 个整数 a_1 ,a_2, ..., a_n (1≤ai≤1e9) 为数组元素。Output
每个样例输出一行包含 m 表示该数组中在操作之后最多能有 m 个数可以被 3 整除。Sample Input 1 
2
5
3 1 2 3 1
7
1 1 1 1 1 2 2Sample Output 1
3
3
Hint
[3,1,2,3,1]−>[3,3,3,1]
[1,1,1,1,1,2,2]−>[1,1,1,1,2,3]−>[1,1,1,3,3]−>[2,1,3,3]−>[3,3,3]
#include <iostream>
using namespace std; int main()
{int T;cin >> T;while(T --){int res = 0;int n; cin >> n;int ones = 0, twos = 0;for(int i = 0; i < n; i ++){int x;cin >> x;if(x % 3 == 0) res ++;else if(x % 3 == 1) ones ++;else twos ++;}if(ones <= twos){res += ones;twos -= ones;res += twos / 3;}else {res += twos;ones -= twos;res += ones / 3;}cout << res <<  endl;}return 0;
}

这篇关于2020长亭面试题F题 数组运算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955236

相关文章

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

uva 575 Skew Binary(位运算)

求第一个以(2^(k+1)-1)为进制的数。 数据不大,可以直接搞。 代码: #include <stdio.h>#include <string.h>const int maxn = 100 + 5;int main(){char num[maxn];while (scanf("%s", num) == 1){if (num[0] == '0')break;int len =

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败