bilibili 2020 校招面试题程序题
[编程题]复数乘法
题目描述:
输入两个表示复数的字符串,输出它们相乘的结果的字符串
复数字符串用a+bi表示(a, b 为整数, i为虚数单位,i² =1)
输入描述:
两个表示复数的字符串
输出描述:
两个数相乘的结果的字符串
输入例子:
1+2i
2+1i
输出例子:
0+5i
解题思路:
先将输入的两个复数进行拆分,并提取出实部和虚部,随后进行运算即可
import java.util.Scanner;public class complexNumber {public static int stringtoInt(String s){int num = 0;int flag = 1;for (int i = 0; i < s.length(); i++){if (s.charAt(i) == '-')flag = -1;else if (s.charAt(i) >= '0' && s.charAt(i) <= '9')num = num * 10 + (s.charAt(i) - '0');}return num * flag;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String s1= sc.nextLine();String s2 = sc.nextLine();int a1 =stringtoInt(s1.substring(0,s1.indexOf('+'))) ;int a2 =stringtoInt(s1.substring(s1.indexOf('+')+1)) ;int b1 = stringtoInt(s2.substring(0,s2.indexOf('+')));int b2 = stringtoInt(s2.substring(s2.indexOf('+')+1));int f= a1*b1-a2*b2;int s= a1*b2+a2*b1;System.out.println(f + "+" + s + "i");}
}
[编程题]一年中的第几天
题目描述:
输入一个"YYYY-MM-dd"格式的日期字符串,输出该天是当年的第几天(1 月 1 日是每年的第 1 天)
输入描述:
一个"YYYY-MM-dd"格式的表示日期的字符串
输出描述:
该天是当年的第几天
输入例子:
2019-01-09
输出例子:
9
解题思路:
首先将字符串进行拆分,先根据年份确定平年还是闰年,随后进行根据月份算出已经过去的天数,再加上几号即可
import java.util.Scanner;
public class days {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String date = sc.nextLine();String[] d = date.split(String.valueOf('-'));int year = Integer.parseInt(d[0]);int month = Integer.parseInt(d[1]);int day = Integer.parseInt(d[2]);int count = 0;int[] pingDays = new int[]{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};int[] runDays = new int[]{0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366};if (((year % 4 == 0 )&&(year % 100 != 0))||(year % 400 ==0)){count = runDays[month - 1]+day;}else {count = pingDays[month - 1] + day;}System.out.println(count);}
}
[编程题]k个一组翻转链表
题目描述:
给你一个链表,每 k 个节点一组进行翻转,请返回翻转后的链表。
如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
示例 :
给定这个链表:1->2->3->4->5
当 k = 2 时,应当返回: 2->1->4->3->5
当 k = 3 时,应当返回: 3->2->1->4->5
输入描述:
第一行:依次输入链表中的各个元素,以"#"结束
第二行:每组数量k
输出描述:
处理后的链表中的各个元素,以"->"连接
输入例子:
1 2 3 4 5 #
2
输出例子:
2->1->4->3->5
解题思路:
首先将输入的字符串变成只有内容的数组,然后循环调用编写的翻转函数对数组进行翻转,如果长度不足则取消翻转
import java.util.Scanner;public class reverse {public static void reveral(String[] arr,int start,int end){while (start<end) {String tmp = arr[start];arr[start] = arr[end];arr[end] = tmp;start++;end--;}}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String arr = sc.nextLine();String arrs = arr.substring(0,arr.length()-1);String[] list = arrs.split(" ");int size = sc.nextInt();int start = 0;while (start + size - 1 < list.length){reveral(list,start,start+size-1);start = start +size;}for (int i = 0;i<list.length-1;i++){System.out.print(list[i]+"->");}System.out.println(list[list.length-1]);}
}
bilibili 2020 校招面试题程序题相关推荐
- system verilog编程题_拼多多2020校招部分算法编程题合集
拼多多2020校招部分算法编程题2道,多多的魔术盒子和多多的排列函数 其实根据他的匹配职位我们可以看到,这5道题的难度还是并不高,只是作为一个初步筛选,我这边选择了前两道跟大家分享 [编程题一] 多多 ...
- 【阿里21校招笔试题】【日常生活】【BUG日记】我真是个呆瓜!居然不会写冒泡排序了,我吐了!结果阿里的校招笔试题一题都没做好!!!我人真的傻了!就卡在排序上!!!
[记录]:记录一次呆瓜日记,自己真是一个大傻子. [经过]:今天晚上在做阿里校招的笔试题的时候,我人傻了.固定一个小时,做两道编程题,结果第一题都没做完. [题1]:(只记得大概需求)输入一个数n,再 ...
- Bilibili 2020校招 后端笔试试卷
Bilibili后端笔试试卷 第一题:原地翻转字符串,要求空间复杂度O(1),时间复杂度 O(n) AC 100% 代码: import java.util.Scanner;/*** @author ...
- 京东2020校招笔试题-算法工程师
1.笔试题目说明: 30道选择(包括单选和多选),占60分:2道编程题,占40分: 2.编程题解: 第一道编程题没怎么理解题意,重点在做第2道,根据当时的草稿及事后调通的代码,记录如下: 2.1 题目 ...
- 阿里巴巴2015校招笔试题附加题1解答
public interface IntegralExchange {public void creatOrder(String userId,String boxId);public void re ...
- 快手2020校招笔试题 2019.8.25
算法A试卷部分编程题 求解字符串表示的一元一次方程. 思路:将等式右侧的表达式左移,即将等号替换为-(,并在最后添加上).然后将表达式的变量X替换为虚数的1j,这样就能通过python的eval函数来 ...
- 美团点评2020校招算法工程师编程题--工作安排--动态规划
题目描述: 小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值. 每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成.第i周,团队完成简单任 ...
- vivo2020校招笔试题[编程题]报数(约瑟夫问题又称丢手绢问题)-java解决
今年7月份vivo迎来了新入职的大学生,现在需要为每个新同事分配一个工号.人力资源部同事小v设计了一个方法为每个人进行排序并分配最终的工号,具体规则是: 将N(N<10000)个人排成一排,从第 ...
- 小米2020校招笔试题及答案
这里用的是动态规划做的,递归方程是:dp[i] = dp[i - prices[j]] + 1; package com.test;import java.io.*; import java.util ...
最新文章
- CSS Selector 3
- python解密md5值_Python之POST提交解密MD5
- 2019-10-16 13:39:37,494 ERROR [http-nio-8080-exec-10] util.JWTUtils (JWTUtils.java:76) - The Token h
- 练习系列 - 5、求子数组的最大和
- 如何跳过无用的字符信息
- 在EO中获取某字段基于表的列名
- b站电脑客户端_如何将B站的flv格式的视频转换成mp4格式
- Java笔记05-Collection、泛型、迭代器
- C语言运算符优先级和结合性
- 金三银四我带你去BAT面试现场,干货整理
- javaWeb自己定义可排序过滤器注解,解决Servlet3.0下@WebFilter注解无法排序问题
- java实训文献_java实训论文参考文献写作指导
- 记住密码的那一刹那显示
- 使用 *号在分别在控制台输出一个平行四边形、等腰三角形、菱形
- 快手协议/逆向开发ks协议
- Fiddler原理+雷电模拟器进行APP抓包
- 电脑计算机界面打开后无法缩小,技术编辑演示win10系统iE网页界面大小无法缩放的办法...
- 【089】MESHY-ios12壁纸风格的渲染图生成器
- 电脑监控专家-专业的电脑监控软件
- 操作系统学习笔记——北京大学陈向群老师课后及习题答案(2)
热门文章
- Java位运算符详解(移位、位与、或|、非~、异或^)
- 爬取180000条影评,分析电影《八佰》的30亿之路
- Unity调整脚本顺序
- nagios安装步骤
- TSINGSEE青犀视频云边端架构产品运行后加密机可以断电断网吗?
- 【DELM回归预测】多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】
- 电路计算机仿真的优点,施密特触发器电路及工作原理详解_施密特触发器特点_施密特触发器的作用...
- 继戴尔670亿收购EMC后,科技界钱多的让人窒息的五大收购案
- PIE-Engine利用modis计算ndvi
- 启动报异常:org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping