首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:复数乘法

#yyds干货盘点# LeetCode程序员面试金典:复数乘法

时间:2024-01-06 21:32:08浏览次数:38  
标签:yyds String num2 int 金典 LeetCode parseInt 2i num1

题目

复数 可以用字符串表示,遵循 "实部+虚部i" 的形式,并满足下述条件:


实部 是一个整数,取值范围是 [-100, 100]

虚部 也是一个整数,取值范围是 [-100, 100]

i2 == -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 的形式。  

 

代码实现

class Solution {
    public String complexNumberMultiply(String num1, String num2) {
        String[] complex1 = num1.split("\\+|i");
        String[] complex2 = num2.split("\\+|i");
        int real1 = Integer.parseInt(complex1[0]);
        int imag1 = Integer.parseInt(complex1[1]);
        int real2 = Integer.parseInt(complex2[0]);
        int imag2 = Integer.parseInt(complex2[1]);
        return String.format("%d+%di", real1 * real2 - imag1 * imag2, real1 * imag2 + imag1 * real2);
    }
}


标签:yyds,String,num2,int,金典,LeetCode,parseInt,2i,num1
From: https://blog.51cto.com/u_15488507/9127935

相关文章

  • # yyds干货盘点 # 盘点一个工作中Python自动化处理实战问题(番外篇)
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个工作中Python自动化处理实战问题,一起来看看吧。问题描述:数据在提供的数据表中,在表有编号、环节、审核人、金额、结束时间5列,对【编号、环节、审核人、金额】四条件进行分组,分组内结束时间升序排列......
  • # yyds干货盘点 # 盘点一个Pandas取值的问题(下篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据提取的问题,上一篇文章我们介绍了基础篇,这一篇文章我们来延伸下,你想象下,我想要14和15行该怎么写?二、实现过程后来【论草莓如何成为冻干莓】给了一份代码,print(df.loc[[14,15],'作者':'回复'])。......
  • 动态规划 多源路径 字典树 LeetCode2977:转换字符串的最小成本
    涉及知识点动态规划多源最短路径字典树题目给你两个下标从0开始的字符串source和target,它们的长度均为n并且由小写英文字母组成。另给你两个下标从0开始的字符串数组original和changed,以及一个整数数组cost,其中cost[i]代表将字符串original[i]更改为字符......
  • LeetCode-10 正则表达式匹配
    LeetCode-10正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持'.'和'*'的正则表达式匹配。'.'匹配任意单个字符'*'匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。示例1:输入:s="aa",p="a"输出:false解释:"a"......
  • LeetCode-22. 括号生成
    LeetCode-22.括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]提示:1<=n<=8solution动态规划可以采用动态规划的思想,首......
  • LeetCode-23 合并 K 个升序链表
    LeetCode-23合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链......
  • 【LeetCode】46. 全排列
    一、题目描述给定一个不含重复数字的数组nums,返回其所有可能的全排列。你可以按任意顺序返回答案。示例1:输入:nums=[1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums=[0,1]输出:[[0,1],[1,0]]示例3:输入:nums=[1]输出:[[1]]提示:1<=nums.......
  • 【LeetCode】2055. 蜡烛之间的盘子
    一、题目描述给你一个长桌子,桌子上盘子和蜡烛排成一列。给你一个下标从0开始的字符串s,它只包含字符'*'和'|',其中'*'表示一个盘子,'|'表示一支蜡烛。同时给你一个下标从0开始的二维整数数组queries,其中queries[i]=[lefti,righti]表示子字符串s[lefti...rig......
  • 【LeetCode】23. 合并K个升序链表
    一、题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2......
  • #yyds干货盘点# LeetCode程序员面试金典:赎金信
    给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以,返回 true ;否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。 示例1:输入:ransomNote="a",magazine="b"输出:false示例2:输入:ransomNot......