JAVA练习165-复数乘法
复数 可以用字符串表示,遵循 "实部+虚部i" 的形式,并满足下述条件:
- 实部 是一个整数,取值范围是 [-100, 100]
- 虚部 也是一个整数,取值范围是 [-100, 100]
- i² == -1
给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。
示例 1:
输入:num1 = "1+1i", num2 = "1+1i"
输出:"0+2i"
解释:(1 + i) * (1 + i) = 1 + i2 + 2 * i = 2i ,你需要将它转换为 0+2i 的形式。
示例 2:
输入:num1 = "1+-1i", num2 = "1+-1i"
输出:"0+-2i"
解释:(1 - i) * (1 - i) = 1 + i2 - 2 * i = -2i ,你需要将它转换为 0+-2i 的形式。
提示:
- num1 和 num2 都是有效的复数表示。
分析:
方法:模拟
假设两个复数为 a + bi 和 c + di,那么 ( a + bi ) * ( c + di ) = ( a * c - b * d ) + ( a * d + b * c ) i,我们只需要通过切割得出 a,b,c,d 的值根据以上公式就可以得出结果复数。
时间复杂度:O(1)
空间复杂度:O(1)
class Solution {public String complexNumberMultiply(String num1, String num2) {//获取实部虚部String[] s1 = num1.split("\\+"), s2 = num2.split("\\+");//结果StringBuilder res = new StringBuilder();//计算实部和虚部数字int a = Integer.parseInt(s1[0]), b = Integer.parseInt(s2[0]), c = Integer.parseInt(s1[1].substring(0, s1[1].length()-1)), d = Integer.parseInt(s2[1].substring(0, s2[1].length()-1));//添加实部积res.append(a * b - c * d);//添加加号res.append('+');//添加虚部积res.append(a * d + c * b);//添加ires.append('i');//返回结果return res.toString();}
}
题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/complex-number-multiplication
JAVA练习165-复数乘法相关推荐
- java字符串拆分成数组_用Java实现JVM第八章《数组和字符串》
小傅哥 | https://bugstack.cn 沉淀.分享.成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获.目前已完成的专题有:Netty4.x实战专题案例.用J ...
- java工程师面试题大全100%公司笔试题你都能碰到几个
1. hibernate中离线查询去除重复项怎么加条件??? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端 ...
- java面试详解-总有你能碰得到的
1. hibernate中离线查询去除重复项怎么加条件? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2. http协议及端口, ...
- java工程师面试题
1.hibernate中离线查询去除重复项怎么加条件?? dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); 2.http协议及端口,smt ...
- maven命令行创建web项目报错:java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils...
早上新建一个web项目,没想到一敲命令创建就失败了,真是出师不利.各种折腾无果,当然我也可以用eclipse直接创建的,就是想搞清楚状况.刚刚才发现问题原因,这个结果我也是醉了,太坑爹了. 问题现象: ...
- 笔记72 高级SSM整合
遇到的问题: 1.进行spring mvc测试的时候报错 测试代码: 1 package com.li.test; 2 3 import com.github.pagehelper.PageInfo; ...
- 向HBase中导入数据3:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(增加使用Reduce批量插入)
前面我们介绍了: 向HBase中导入数据1:查询Hive后写入 向HBase中导入数据2:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(只使用Map逐条查询) 为了提高插入效率 ...
- htmlunit模拟登录
htmlunit jar项目路径http://sourceforge.net/projects/htmlunit/files/htmlunit/ demo代码如下 public class AutoL ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接 驱动版本 最新 ...
- java学习(165):inetaddress和inetsocketaddress
import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException ...
最新文章
- 用批处理编译*.sln工程(转)
- bzoj2427: [HAOI2010]软件安装
- 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
- IsWow64Process 判断操作系统位数
- 计组之I/O系统:1、I/O系统基本概念
- 智能提示_文明放大镜·7 | 清新智能语音提示桩让你过马路除了看灯还可以听,赞...
- 函数 tostring_QDate、QTime、QDateTime的相关函数说明
- 【DS】数据结构八股文英文版(1)
- C语言实现去掉字符串中重复的字符
- 全国各省市区城市编码SQL
- Order by 语句 的使用
- 大文件前端直接上传至七牛
- java微服务Nacos配置管理
- 程序员,在北上广深杭赚够100万,就逃回二三四线城市生活,靠谱吗?
- OSI七层模型、TCP/IP五层(或四层)模型
- 干货:从零设计高并发架构
- STM32 IAP 在线升级详解
- 中e管家婚后有孩子怎么理财
- 三菱四节传送带控制梯形图_基于三菱FX—2N系列PLC的四节传送带模拟控制设计...
- 计算机网络技术主要包括计算机技术和什么,《计算机网络技术》第6章作业的参考答案...
热门文章
- 怎么将pdf转换成word?
- 了解Wi-fi频段概念
- PLC转行嵌入式软件开发的辛路历程
- 创新创业大赛计算机,计算机学院第六届创新创业大赛圆满结束
- Esp32 TCA9555 基于Arduino基于 microByte
- 298day(点触验证)
- Ubuntu16.04的图形化界面系统安装+NIVIDIA驱动安装-Cuda-Cudnn+教程全(后面安装系统通用)
- android测试方法及流程,一种Android通讯终端硬件测试方法、测试工艺以及整机测试流程与流程...
- JSF 原理简要介绍
- 【2011年全国试题3】已知循环队列存储在一维数组A[0…n-1],且队列非空时,front和rear分别指向队头元素和队尾元素。若初始时队列为空,且