[编程题]复数乘法

题目描述:
输入两个表示复数的字符串,输出它们相乘的结果的字符串
复数字符串用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 校招面试题程序题相关推荐

  1. system verilog编程题_拼多多2020校招部分算法编程题合集

    拼多多2020校招部分算法编程题2道,多多的魔术盒子和多多的排列函数 其实根据他的匹配职位我们可以看到,这5道题的难度还是并不高,只是作为一个初步筛选,我这边选择了前两道跟大家分享 [编程题一] 多多 ...

  2. 【阿里21校招笔试题】【日常生活】【BUG日记】我真是个呆瓜!居然不会写冒泡排序了,我吐了!结果阿里的校招笔试题一题都没做好!!!我人真的傻了!就卡在排序上!!!

    [记录]:记录一次呆瓜日记,自己真是一个大傻子. [经过]:今天晚上在做阿里校招的笔试题的时候,我人傻了.固定一个小时,做两道编程题,结果第一题都没做完. [题1]:(只记得大概需求)输入一个数n,再 ...

  3. Bilibili 2020校招 后端笔试试卷

    Bilibili后端笔试试卷 第一题:原地翻转字符串,要求空间复杂度O(1),时间复杂度 O(n) AC 100% 代码: import java.util.Scanner;/*** @author ...

  4. 京东2020校招笔试题-算法工程师

    1.笔试题目说明: 30道选择(包括单选和多选),占60分:2道编程题,占40分: 2.编程题解: 第一道编程题没怎么理解题意,重点在做第2道,根据当时的草稿及事后调通的代码,记录如下: 2.1 题目 ...

  5. 阿里巴巴2015校招笔试题附加题1解答

    public interface IntegralExchange {public void creatOrder(String userId,String boxId);public void re ...

  6. 快手2020校招笔试题 2019.8.25

    算法A试卷部分编程题 求解字符串表示的一元一次方程. 思路:将等式右侧的表达式左移,即将等号替换为-(,并在最后添加上).然后将表达式的变量X替换为虚数的1j,这样就能通过python的eval函数来 ...

  7. 美团点评2020校招算法工程师编程题--工作安排--动态规划

    题目描述: 小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值. 每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成.第i周,团队完成简单任 ...

  8. vivo2020校招笔试题[编程题]报数(约瑟夫问题又称丢手绢问题)-java解决

    今年7月份vivo迎来了新入职的大学生,现在需要为每个新同事分配一个工号.人力资源部同事小v设计了一个方法为每个人进行排序并分配最终的工号,具体规则是: 将N(N<10000)个人排成一排,从第 ...

  9. 小米2020校招笔试题及答案

    这里用的是动态规划做的,递归方程是:dp[i] = dp[i - prices[j]] + 1; package com.test;import java.io.*; import java.util ...

最新文章

  1. CSS Selector 3
  2. python解密md5值_Python之POST提交解密MD5
  3. 2019-10-16 13:39:37,494 ERROR [http-nio-8080-exec-10] util.JWTUtils (JWTUtils.java:76) - The Token h
  4. 练习系列 - 5、求子数组的最大和
  5. 如何跳过无用的字符信息
  6. 在EO中获取某字段基于表的列名
  7. b站电脑客户端_如何将B站的flv格式的视频转换成mp4格式
  8. Java笔记05-Collection、泛型、迭代器
  9. C语言运算符优先级和结合性
  10. 金三银四我带你去BAT面试现场,干货整理
  11. javaWeb自己定义可排序过滤器注解,解决Servlet3.0下@WebFilter注解无法排序问题
  12. java实训文献_java实训论文参考文献写作指导
  13. 记住密码的那一刹那显示
  14. 使用 *号在分别在控制台输出一个平行四边形、等腰三角形、菱形
  15. 快手协议/逆向开发ks协议
  16. Fiddler原理+雷电模拟器进行APP抓包
  17. 电脑计算机界面打开后无法缩小,技术编辑演示win10系统iE网页界面大小无法缩放的办法...
  18. 【089】MESHY-ios12壁纸风格的渲染图生成器
  19. 电脑监控专家-专业的电脑监控软件
  20. 操作系统学习笔记——北京大学陈向群老师课后及习题答案(2)

热门文章

  1. Java位运算符详解(移位、位与、或|、非~、异或^)
  2. 爬取180000条影评,分析电影《八佰》的30亿之路
  3. Unity调整脚本顺序
  4. nagios安装步骤
  5. TSINGSEE青犀视频云边端架构产品运行后加密机可以断电断网吗?
  6. 【DELM回归预测】多元宇宙优化算法改进深度学习极限学习机数据回归预测【含Matlab源码 2230期】
  7. 电路计算机仿真的优点,施密特触发器电路及工作原理详解_施密特触发器特点_施密特触发器的作用...
  8. 继戴尔670亿收购EMC后,科技界钱多的让人窒息的五大收购案
  9. PIE-Engine利用modis计算ndvi
  10. 启动报异常:org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping