携程2018 秋招编程题
来源:互联网 发布:弈乐麻将 游戏网络 编辑:程序博客网 时间:2024/06/05 09:59
第一题:
两个排好序的数组 求中位数
import java.util.Comparator;import java.util.PriorityQueue;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int count = 0; PriorityQueue<Integer> minHeap = new PriorityQueue<>(); PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(15, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); int n = scanner.nextInt(); for (int i = 0; i < n; i++) { int num = scanner.nextInt(); if (count % 2 == 0) { maxHeap.offer(num); int filteredMaxNum = maxHeap.poll(); minHeap.offer(filteredMaxNum); } else { minHeap.offer(num); int filteredMinNum = minHeap.poll(); maxHeap.offer(filteredMinNum); } count++; } int m = scanner.nextInt(); for (int i = 0; i < m; i++) { int num = scanner.nextInt(); if (count % 2 == 0) { maxHeap.offer(num); int filteredMaxNum = maxHeap.poll(); minHeap.offer(filteredMaxNum); } else { minHeap.offer(num); int filteredMinNum = minHeap.poll(); maxHeap.offer(filteredMinNum); } count++; } if (count % 2 == 0) { System.out.println(new Double((minHeap.peek() + maxHeap.peek())) / 2); } else { System.out.println(new Double((minHeap.peek()))); } } }}
第二题
输入一个无序数组,输出数组中不存在的最小正整数
import java.util.*;public class Main { /*请完成下面这个函数,实现题目要求的功能 当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ ******************************开始写代码******************************/ static int findMinMis(int[] A) { if (A == null) { return 0; } Arrays.sort(A); int num = -1; for (int i = 1; i < A.length; i++) { if (A[i] - A[i - 1] != 1) { if (A[i - 1] + 1 > 0) { num = A[i - 1] + 1; break; } } } if (num == -1) { if (A[0] > 1) { num = A[0] - 1; } else { num = A[A.length - 1] + 1; } if (A[A.length - 1] < 0) { num = 1; } } return num; } /******************************结束写代码******************************/ public static void main(String[] args) { Scanner in = new Scanner(System.in); int res; int _A_size = 0; _A_size = Integer.parseInt(in.nextLine().trim()); int[] _A = new int[_A_size]; int _A_item; for (int _A_i = 0; _A_i < _A_size; _A_i++) { _A_item = Integer.parseInt(in.nextLine().trim()); _A[_A_i] = _A_item; } res = findMinMis(_A); System.out.println(String.valueOf(res)); }}
第三题
去除重复字符(包括特殊字符)
import java.util.LinkedHashSet;import java.util.Scanner;import java.util.Set;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String str = scanner.nextLine(); Set<Character> set = new LinkedHashSet<>(); for (int i = 0; i < str.length(); i++) { Character c = str.charAt(i); if (set.add(c)) { System.out.print(c); } } System.out.println(); } }}
阅读全文
0 0
- 携程2018 秋招编程题
- 京东2018秋招编程题
- 京东2018秋招编程题
- 京东2018秋招编程题
- 滴滴2018秋招编程题
- 网易2018秋招编程题
- 滴滴2018秋招编程题
- 深信服2018秋招编程题
- 巨人网络2018秋招编程题
- 猎豹2018秋招编程题2
- 2017秋招编程题
- 阿里秋招编程题
- 2018滴滴校招(秋招)内推笔试编程题题解
- 2018秋招-阿里内推编程题
- 2018阿里巴巴秋招笔试编程题的自我探索
- 网易2018秋招Java开发岗编程题
- 华为2018秋招编程题3:接啤酒
- 华为2018秋招编程题2 : 报数游戏
- Oracle数据库入门 基础知识day05 火推阳光笔记
- 2017-09-21 LeetCode_031 Next Permutation
- Android Crash日志收集
- LWC 50:677. Map Sum Pairs
- 47. 数据结构笔记之四十七的有向无环图的应用排序
- 携程2018 秋招编程题
- Android组件化之终极方案
- 网页性能如何优化
- caioj 1077 dp
- Unity3d六 unity3d资源解析(意义、来源、编辑和查看工具)
- mac设置python版本切换,和设置python默认版本
- mybatis 工作流程
- 2017年9月16日提高组T2 A 电脑都连上互联网
- jersey接口处理微信支付回调,dom4j解析微信消息xml