1. 数字处理

题目描述:给出一个不多于5位的整数,进行反序处理,要求

(1)求出它是几位数

(2)分别输出每一个数字(空格隔开)

(3)按逆序输出各位数字(仅数字间以空格间隔,负号与数字之间不需要间隔)

输入描述:位数不大于5的整数

输出描述:1.整数位数 2.空格间隔输出结果 3.逆序整数

思路描述:直接进行正负数判断,分别进行处理

【code】

import java.util.Scanner;

/**
* Created by Administrator on 2018/3/21.
*/
public class NumberProcess {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
//输入
int n = in.nextInt(); //转换
String s = String.valueOf(n);
char[] array = s.toCharArray(); if (n >= 0) {
//输出长度
System.out.println(array.length); //分别输出每一个数字(空格隔开)
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
} System.out.println(); //按逆序输出各位数字
for (int i = array.length - 1; i >= 0; i--) {
System.out.print(array[i] + " ");
}
} else {
//输出长度
System.out.println(array.length-1); //分别输出每一个数字(空格隔开)
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
} System.out.println(); //按逆序输出各位数字,负号与数字之间不需要间隔
System.out.print(array[0]);
for (int i = array.length - 1; i > 0; i--) {
System.out.print(array[i]+" ");
}
}
}
in.close();
}
}

【Result】

12345
5
1 2 3 4 5
5 4 3 2 1
-12345
5
- 1 2 3 4 5
-5 4 3 2 1

  

2. IP地址交集判断

题目描述:输入四个IP端,前两个为第一个IP段的起始和终止地址,后两个是第二个IP段的起始和终止地址,判断这两个IP段是否存在交集

输入描述:输入4个IP

输出描述:如果存在交集,输出 Overlap IP ; 如果不存在交集,输出 No Overlap IP

思路描述:开始看题目感觉不是很理解,看到IP地址觉得很复杂。其实真正了解了题意之后发现原来是想多了。将IP地址化成区间,判断两个区间是否存在交集就行了,高中数学。

【code】

import java.util.Scanner;

/**
* Created by Administrator on 2018/3/12.
*/
public class isMixed {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
//输入 ['1.1.1.1','255.255.255.255','2.2.2.2','3.3.3.3']
String[] array = new String[4];
array[0] = sc.nextLine();
array[1] = sc.nextLine();
array[2] = sc.nextLine();
array[3] = sc.nextLine(); Long[] newArray = new Long[array.length]; //使用Long,Int会溢出 //函数
//分割,去掉.,组合
for (int i = 0; i < array.length; i++) {
newArray[i] =Long.parseLong(joinChar(array[i]));
} //判断
if(newArray[0]<=newArray[1] && newArray[2]<=newArray[3]){
if(newArray[3]<newArray[0] || newArray[2]>newArray[1]){
System.out.println("No Overlap IP");
}else{
System.out.println("Overlap IP");
}
} }
sc.close();
} public static String joinChar(String arr) {
String newArr = "";
String[] s = arr.split("\\.");
for (int i = 0; i < s.length; i++) {
newArr += s[i];
}
return newArr;
} }

  

【result】

1.1.1.1
255.255.255.255
2.2.2.2
3.3.3.3
Overlap IP

  

3. 数字排序

题目描述: 给定字符串内有很多正整数,要求对这些正整数进行排序,然后返回排序后指定位置的正整数,排序要求:按照每一个正整数的后三位数字组成的整数进行从小到大排序

(1)如果不足三位,则按照实际位数组成的整数进行比较

(2)如果相等,则按照输入字符中的原始顺序排序

说明:(1)字符串以‘\0’结尾,仅包含数字、空格(2)字符串内正整数之间以单个空格分隔,字符串首尾没有空格(3)正整数格式为十进制,大小1~1000000,正整数的数字非零开始

输入描述:第一行为一个整数字符串,里面包含若干个整数,以空格分割,第二行为一个整数,即指定的位置

输出描述:输出指定位置的整数

思路:将每个数字按数字的后三位数的大小比较进行排序,不足三位的保持原数字比较。然后输出。

【code】

import java.util.*;

public class Sort {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) { //输入 '1223 22 3232 2016', '3'
String str = sc.nextLine();
int position = sc.nextInt(); //按照空格分割
String[] strArr = str.split(" "); //添加元素进集合
List<Integer> list = new ArrayList<>();
for (int i = 0; i < strArr.length; i++) {
list.add(Integer.valueOf(strArr[i]));
} //使用Collections的sort方法,并且重写compare方法
Collections.sort(list, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
int a1;
int a2; if (o1 > 1000) {
a1 = o1 % 1000;
} else {
a1 = o1;
}
if (o2 > 1000) {
a2 = o2 % 1000;
} else {
a2 = o2;
} return a1 - a2;
}
}); System.out.println(list.get(position - 1)); }
sc.close();
} }

  

【result】

1223 22 3232 2016
3
1223

 

-------------------------------------------------------

参考链接: https://www.cnblogs.com/guorange/p/7519222.html  (JS版本的解答)

HW2018校招研发笔试编程题的更多相关文章

  1. 2017 CVTE春招内推专场 C/C++软件开发岗笔试编程题

    先来一波吐槽:选择题全是不定项选择,考的内容在我看来,"反正我接受唔到咯". 比如: 1.Windows操作系统某个通信机制(具体题目忘了,反正答案我选了个熟悉的名词"消 ...

  2. 网易2019校招内推编程题-瞌睡-C++实现

    [编程题] 瞌睡 时间限制:1秒 空间限制:262144K 小易觉得高数课太无聊了,决定睡觉.不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下.你知道了小易对一堂课每分钟 ...

  3. 网易2019校招内推编程题-俄罗斯方块-C++实现

    [编程题] 俄罗斯方块 时间限制:1秒 空间限制:262144K 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同.荧幕上一共有 n 列,每次都会有 ...

  4. 网易2018校招内推编程题-堆棋子-C++实现

    链接:https://www.nowcoder.com/questionTerminal/27f3672f17f94a289f3de86b69f8a25b来源:牛客网 [编程题]堆棋子 热度指数:14 ...

  5. 网易2019校招C++研发工程师笔试编程题

    丰收? (忘了题目了QAQ) 题目描述: 又到了丰收的季节,恰逢小易去牛牛的果园里游玩. 牛午常说他对整个果园的每个地方都了如指掌,小易不太相信, 所以他想考考牛牛. 在果园里有N堆苹果,每堆苹果的数 ...

  6. CVTE前端笔试编程题

    这些题目是做完笔试之后,在别的地方找到的,现在附上. 1.(1)这题考察的怎么把参数转换为数组,然后再截取你想要的位数. function C(){ var a_args=Array.prototyp ...

  7. 一道生成不重复随机数字的C#笔试编程题

    当时写在纸上的程序没有验证输入,出面试公司没多久就突然想起来这点了,囧啊! 不过当时笔试的时候想到写异常处理了. 回来上机整理了一下程序,才发现原来还会用到递归的. 当时面试官边说边出的题,问他数字是 ...

  8. 9月10日,美团网2014校招研发笔试哈尔滨站 1、链表翻转。给出一个链表和一个数k,比如链表1→2→3→4→5→6,k=2,则翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现

    // reverselink.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" struct Node{ int num; struct No ...

  9. 腾讯笔试编程题,贪吃的小Q(二分查找)

    问题描述 小Q的父母要出差N天,走之前给小Q留下了M块巧克力.小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力. 输入描 ...

随机推荐

  1. Python设计模式 - UML - 组件图(Component Diagram)

    简介 组件图又称构建图,用于显示系统各组件及各组件关系的物理视图. 组件图通常包括组件.接口.关系.端口和连接器,用来显示程序代码中相应的模块.源文件或源文件集合之间的依赖和泛化关系. 组件图中的组件 ...

  2. ExecuteNonQuery()

    ExecuteNonQuery():执行一个SQL语句,返回受影响的行数,这个方法主要用于执行对数据库执行增加.更新.删除操作,注意查询的时候不是调用这个方法.用于完成insert,delete,up ...

  3. 547. Friend Circles 求间接朋友形成的朋友圈数量

    [抄题]: There are N students in a class. Some of them are friends, while some are not. Their friendshi ...

  4. (sealed)密封类及密封方法优缺点

    1. 密封类防止被继承 (有利于代码优化, 由于密封类的不被继承性, 代码在搜索此方法时可以直接定位, 不需要一层层的找继承关系) 只有本程序集可以使用 2. 密封类中不需要再写密封方法(一般密封方法 ...

  5. PHP开发——数据类型

    概述 l  变量就是一个容器,变量本身并没有类型,变量的类型解决值的类型. l  PHP和JS都属于弱类型语言,变量在运行过程中,类型是可以变的.但是,Java不可以. l  标量(基本)数据类型:字 ...

  6. 选择困难症的福音——团队Scrum冲刺阶段-Day 1领航

    选择困难症的福音--团队Scrum冲刺阶段-Day 1领航 各个成员在 Alpha 阶段认领的任务 小组成员 分工 任务量 严域俊 完成小游戏接口部分.小游戏编写部分 21 吴恒佚 决策判断部分.小游 ...

  7. leveldb 学习记录(八) compact

    随着运行时间的增加,memtable会慢慢 转化成 sstable. sstable会越来越多 我们就需要进行整合 compact 代码会在写入查询key值 db写入时等多出位置调用MaybeSche ...

  8. Django haystack+solr搜索引擎部署的坑.

    跟着<<Django by Example>> 一路做下来,到了搭建搜索引擎的步骤 默认的思路是用 obj.objects.filter(body__icontains='fr ...

  9. 2019.02.16 bzoj5466: [Noip2018]保卫王国(链分治+ddp)

    传送门 题意简述: mmm次询问,每次规定两个点必须选或者不选,求树上的带权最小覆盖. 思路: 考虑链分治+ddpddpddp 仍然是熟悉的套路,先考虑没有修改的状态和转移: 令fi,0/1f_{i, ...

  10. 2019.02.11 bzoj3165: [Heoi2013]Segment(线段树)

    传送门 题意简述:要求支持两种操作: 插入一条线段. 询问与直线x=kx=kx=k相交的线段中,交点最靠上的线段的编号. 思路: 直接上李超线段树即可. 代码: #include<bits/st ...