一、

1、题目

输入一个字符串,输出字符串中最长的数字串。如果有多个数字串长度相等且都是最长的,则按照字符串顺序输出最后一个最长的数字串。

2、解答

【code】

import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
//输入字符串
String s = sc.nextLine(); // 替换字符串中的字母为空格
String s1 = s.replaceAll("[a-z]", " ");
// 分割字符串
String[] strArray = s1.split(" ");
///创建HashMap,存储分割的子数字串,key存储长度,value存储数字串
HashMap<Integer, String> hashMap = new HashMap<>(); //把字符串中的各个子数字串存入linkedHashMap,key存储长度,value存储数字串.在map中,key不能重复,如果有相同的key,后面添加的值会覆盖前面添加的值
for (int i = 0; i < strArray.length; i++) {
if ((strArray[i].length() != 0) && (strArray[i].charAt(0) != ' ')) {
hashMap.put(strArray[i].length(), strArray[i]);
}
} //输出最长的数字串
int length = 0;
String num = "";
for (Integer key : hashMap.keySet()) {
if (key >= length) {
length = key;
num = hashMap.get(key);
}
}
System.out.println(num + "," + length); }
sc.close();
}
}

二、

1、题目

输入字节数组长度uiIutputLen, 如:3;

输入字节数组aInputByte,如: 0x62 0x80 0x00 ;

输入解析数值个数uiElementNum,如:2

输入第一个解析数值的位数,如:4

输入第一个解析数值的位数,如:5

输出解析出的第一个数值:5

输出解析出的第二个数值:6

2、输入输出描述

输入:

3
0x62 0x80 0x00
2
4
5

输出:

6
5

2、解答

【code】

import java.util.Scanner;

public class Main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
//输入字节数组长度uiIutputLen
int uiIutputLen = sc.nextInt(); //输入字节数组aInputByte: 0x62 0x80 0x00
String str = "";
String[] aInputByte = new String[uiIutputLen];
for (int i = 0; i < aInputByte.length; i++) {
aInputByte[i] = sc.next();
str += aInputByte[i];
} //输入解析数值个数uiElementNum
int uiElementNum = sc.nextInt(); //输入各个解析数值的位数
int[] array = new int[uiElementNum];
for (int i = 0; i < array.length; i++) {
array[i] = sc.nextInt();
} //字节数组aInputByte[3]为{0x62, 0x80, 0x00},对应二进制为“0110 0010, 1000 0000, 0000 0000”; //去掉16进制数前的0x
String newStr = str.replaceAll("0x", " ");
String[] strArray = newStr.split(" "); //把16进制数转换成二进制数,并且连接到一起
String binaryString = "";
for (int i = 0; i < strArray.length; i++) {
if ((strArray[i].length() != 0) && (strArray[i].charAt(0) != ' ')) {
binaryString += hexString2binaryString(strArray[i]);
}
} //二进制数转十进制,输出结果
int begin = 0;
int end = array[0]; for (int i = 0; i < uiElementNum; i++) {
String s = binaryString.substring(begin, end);
System.out.println(Integer.parseInt(s, 2)); begin = end; //判断有没有超出数组范围
if ((i + 1) >= uiElementNum) {
break;
} end = array[i + 1] + begin; } }
sc.close();
} //16进制转2进制
public static String hexString2binaryString(String hexString) {
if (hexString == null || hexString.length() % 2 != 0)
return null;
String bString = "", tmp;
for (int i = 0; i < hexString.length(); i++) {
tmp = "0000"
+ Integer.toBinaryString(Integer.parseInt(hexString
.substring(i, i + 1), 16));
bString += tmp.substring(tmp.length() - 4);
}
return bString;
} }

  

HW2018校招软件类笔试题的更多相关文章

  1. 剑指Offer——网易校招内推笔试题+模拟题知识点总结

    剑指Offer--网易校招内推笔试题+模拟题知识点总结 前言 2016.8.2 19:00网易校招内推笔试开始进行.前天晚上利用大约1小时时间完成了测评(这个必须做,关切到你能否参与面试).上午利用2 ...

  2. 华为2018软件岗笔试题之第一题python求解分享

    闲来无事,突然看到博客园首页上有人写了篇了华为2018软件岗笔试题解题思路和源代码分享.看了下题目,感觉第一题能做出来,就想着用刚刚学的python试着写一下,花费的时间有点长~~,看来又好长时间没练 ...

  3. c#软件工程师笔试题

    近来有打算重新找工作,还没提离职,投了几家公司简历,其中一家比较中意的公司给发了面试题,其实,好像是好几天前的事了,主要是Gmail邮箱很少用,所以一直都没去看,今天看到题目给解了. 题目如下: 题目 ...

  4. 2015-01-19 .Net 软件工程师 笔试题

    填空题 1.String是__类型(值类型或引用类型) 2.int的基类是__ 3.实现__的类,可以应用foreach语句 4.要输出一段XML文档,用__类来实现能够确保输出正确格式的XML,输出 ...

  5. 2015-01-16 .Net 中级软件工程师 笔试题

    一 C#方面 1.请简述多线程需要考虑的主要因素 答:1.线程管理 同一核上的两个线程不会以两倍的时长完成,可能需要用两倍再加10 %左右的时间来完成.与一个线程相比较的话,三个线程在同一核上想占用1 ...

  6. 蘑菇街2015校招 Java研发笔试题 详解

    1. 对进程和线程描述正确的是( ) A.  父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间. B.  改变进程里面主线程的状态会影响其他线程的行为,改变父进程的状态不会影 ...

  7. 牛客网 —— 爱奇艺2020校招C++方向笔试题 总结

    错了5,6个,主要集中在数据库和操作系统上.    C++还需要提高熟练度. 总结 第6题: 折半查找树:根据二分查找构造得到的树,它一定是一个二叉排序树,是一个特殊的二叉排序树.  (接近于平衡二叉 ...

  8. 2014-04-17-网易有道-研发类-笔试题&amp;參考答案

    一套卷子,共10道小题,3道编程大题 一.填空&选择 1.选择:给了一个递归求Fibonacci的代码,问算法复杂度 指数复杂度 2.选择:忘记了,应该不难 3.选择:给你52张除掉大小王的扑 ...

  9. 牛客网-声网2020校招-通用C++笔试题-2020.9.3

    1. 操作系统中两个进程争夺同一个资源会发生什么情况? 答:不一定死锁 解析:产生死锁的四个必要条件为 (1)互斥条件:一个资源每次只能被一个进程使用. (2)不可剥夺条件:进程已获得的资源,在未使用 ...

随机推荐

  1. Appium+Python自动化 1 环境搭建(适用windows系统-Android移动端自动化)

    一.安装并配置 java jdk ①下载 java jdk后 安装,安装完成后,配置环境变量 打开计算机->系统属性->高级系统设置->环境变量->新建(系统变量),如图所示: ...

  2. 很漂亮的PHP验证码(记录)

    在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据.今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha. 安装 使用composer: ...

  3. Java:ConcurrentHashMap的锁分段技术

    术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值.  哈希表 hash table 根据设定的哈希函数H(ke ...

  4. sqlserver存储过程分页记录

    USE [HK_ERP]GO/****** Object: StoredProcedure [dbo].[GetPageBillsByShopID] Script Date: 2018/10/30 1 ...

  5. 查看进程被哪台电脑的哪个进程连接(netstat)

    1.netstat -ano|findstr 进程号,找出连接该进程A所有的ip(可以看到该进程的端口号和连接进程的端口号): 2.到连接该进程的电脑上,打开cmd命令行,输入netstat -ano ...

  6. abaqus的umat在vs中debug调试

    配置参考:https://www.jishulink.com/content/post/333909 常见错误:http://blog.sina.com.cn/s/blog_6116bc050100e ...

  7. python脚本在linux下的执行

    假设现有一篇待执行的python脚本test.py python脚本在linux下面执行有两种方式: 打开Linux终端,输入 python test.py 在test.py脚本第一行添加声明 #!/ ...

  8. 数据库 的几种链接 join

    直接demo,懒的同学可以看看效果 两个表的数据 join和inner join一样 full join报错,可有大神知道原因?

  9. Geomystery现已上架!

    欢迎体验由王涵.程立智.郑昊.蔡镇泽.李明伦.温志成同学开发的几何解谜游戏Geomystery,现已上架Microsoft官方商城! https://www.microsoft.com/zh-cn/s ...

  10. HTML5结构标签

    <!DOCTYPE html> <!-- ↑ 文档声明.HTML5已经简化为上述样式! 注意:文档声明必须有!而且必须在文档页面的第一行!   HTML4.01之前的文档声明: &l ...