链家java_链家2018春招Java工程师编程题题解
Light
题目描述
在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮。现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢?
输入
第一行一个n,表示有n组开关。接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号。
满足:1<=n<=1000 、1<=k<=1000 、序号是在int范围内正整数。
输出
输出最多多少个灯泡点亮。
样例输入
3
1 1
1 2
2 1 2
样例输出
2
思路
这道题是一个去重的问题,即多个开关可能按下都使同一个开关亮,那么可以利用HashSet去重。
代码实现
package lianjia.demo1;
import java.util.HashSet;
import java.util.Scanner;
/**
* 题目描述:
* 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮。
* 现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢?
* 输入
* 第一行一个n,表示有n组开关。
* 接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号。
* 满足:
* 1<=n<=1000
* 1<=k<=1000
* 序号是在int范围内正整数。
* 输出
* 输出最多多少个灯泡点亮。
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k;
int x;
HashSet set = new HashSet<>();
for (int i = 0; i < n; i++) {
k = sc.nextInt();
for (int j = 0; j < k; j++) {
x = sc.nextInt();
set.add(x);
}
}
System.out.println(set.size());
}
}
triangle
题目描述
在迷迷糊糊的大草原上,小红捡到了n根木棍,第i根木棍的长度为i,小红现在很开心。她想选出其中的三根木棍组成美丽的三角形。但是小明想捉弄小红,想去掉一些木棍,使得小红任意选三根木棍都不能组成三角形。请问小明最少去掉多少根木棍呢?
输入
本题包含若干组测试数据。对于每一组测试数据。第一行一个n,表示木棍的数量。满足 1<=n<=100000
输出
输出最少数量
样例输入
4
样例输出
1
思路
如果两边和大于第三边,那么要去掉的木棍数加1,否则都加1,继续判断
代码实现
package lianjia.demo2;
import java.util.Scanner;
/**
* 题目描述:
* 在迷迷糊糊的大草原上,小红捡到了n根木棍,第i根木棍的长度为i,小红现在很开心。
* 她想选出其中的三根木棍组成美丽的三角形。
* 但是小明想捉弄小红,想去掉一些木棍,使得小红任意选三根木棍都不能组成三角形。
* 请问小明最少去掉多少根木棍呢?
* 输入
* 本题包含若干组测试数据。
* 对于每一组测试数据。
* 第一行一个n,表示木棍的数量。
* 满足 1<=n<=100000
* 输出
* 输出最少数量
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i, n;
int count = 0;
int a = 2;
int b = 3;
while (sc.hasNext()) {
n = sc.nextInt();
for (i = 4; i <= n; i++) {
if (a + b > i) {
count++;
} else {
a = b;
b = i;
}
}
System.out.println(count);
count = 0;
a = 2;
b = 3;
}
}
}
链家java_链家2018春招Java工程师编程题题解相关推荐
- 京东2018春招java_京东2019春招Java工程师编程题题解
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...
- 京东2019春招Java工程师编程题题解
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...
- 深信服2018校园招聘C++工程师编程题 - 题解
深信服2017的校园招聘的题目和这次的几乎一样,不知道贵公司是什么样的想法.做过2017的题目的同学应该会比较占优势.题目不难,比较考验编程的技巧与准确度. 第一题:堆排序 题目: 函数heap_so ...
- 深信服2018春季招聘-研发卷编程题 - 题解
深信服还是一如既往的"懒",2018秋招的5个编程题在本次春招出现了三道,然后添加了一道新的编程题,且选择题和填空题基本与秋招的雷同,看来之前没看深信服2018校园招聘C++工程师 ...
- 去哪儿网2018春招软件开发工程师、前段开发工程师编程题 - 题解
不难,都是常规的操作,故题解写得简单点. 软件开发工程师编程题 第一题:在字典中找自己的逆序 题目 有一个单词列表,一个初始单词,初始单词需要通过单词列表逐步变换得到自己的逆序,求变换所需的最短变换路 ...
- 今日头条PHP开发工程师面试,今日头条2018春招研发岗第一次笔试题解
第一题: 双指针: #include using namespace std; typedef long long ll; const int N = 1e6+7; int a[N]; int mai ...
- 2018春招京东实习编程题解
1.回文串 本题用暴力求解是2^n次,因此采用动态规划.以下附上暴力求解和动态规划的方法 import java.util.ArrayList; import java.util.Scanner;pu ...
- 2017京东春招实习生招聘编程题
题目描述: 有一条很长的队伍,队伍里面一共有n个人.所有的人分为三类:警察,小偷和普通人. 将队伍里面的人从前到后由1到n编号,编号为i的人与编号为j的人的距离为i与j之差的绝对值. 每一个警察 ...
- 2017京东春招C/C++编程题(1)——站队
/*题目描述: 有一条很长的队伍,队伍里面一共有n个人.所有的人分为三类:警察,小偷和普通人. 将队伍里面的人从前到后由1到n编号,编号为i的人与编号为j的人的距离为i与j之差的绝对值. 每一个警察有 ...
最新文章
- 深入理解C++中public、protected及private用法
- ThreadLocal是否会引发内存泄露的分析 good
- WeekDay TO DateTime
- android设置通知在屏幕横幅显示,Android推送通知横幅未显示在某些设备中
- gwas snp 和_GWAS分析中:为何有些SNP效应值大却不显著?
- NeurIPS 2020有哪些值得读的「图神经网络」论文?
- 性能测试常用的软件有哪些,常用的正经CPU测试软件有哪些
- meshgrid 的使用方法
- 贪婪洞窟2服务器维护,12月19日贪婪洞窟2停服维护公告 贪婪洞窟2更新了什么
- Layui表单账号注册校验密码是否一致
- 蓝牙uuid是什么意思_小公主的吐槽非常好|米家蓝牙温湿度计2
- linux5.5 dev null,NULL TTY驱动程序将出现在Linux 5.2内核中
- 单身10年!最孤单水蛙“罗密欧”有望“脱单”
- 西门子s7-200解密软件下载_西门子S7200软件工具——调试应用程序
- 内存卡提示要格式化怎么办?
- 诸葛亮舌战群儒的技术分析总结
- 【LeetCode】《剑指Offer》第Ⅴ篇⊰⊰⊰ 39 - 47题
- day02 快速上手
- Computer Vision—计算机视觉 (一)
- OSX + iTerm2 + vim + ssh + CentOS/本机配色原理小分析