每日一题 --- 537. 复数乘法[力扣][Go]

简介: 每日一题 --- 537. 复数乘法[力扣][Go]

题目:

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

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

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

i2 == -1

给你两个字符串表示的复数 num1 和 num2 ,请你遵循复数表示形式,返回表示它们乘积的字符串。

解题代码:

func complexNumberMultiply(num1 string, num2 string) string {
  // 先获取实部数值
  var a1,a2,b1,b2 int
  f := func(c rune) bool {
    if c == '+' || c == 'i'{
      return true
    } else {
      return false
    }
  }
  one := strings.FieldsFunc(num1, f)
  two := strings.FieldsFunc(num2, f)
  a1,_ = strconv.Atoi(one[0])
  a2,_ = strconv.Atoi(one[1])
  b1,_ = strconv.Atoi(two[0])
  b2,_ = strconv.Atoi(two[1])
  // 计算
  aa := a1 * b1 - a2 * b2
  bb := a1 * b2 + a2 * b1
  return strconv.Itoa(aa) + "+" + strconv.Itoa(bb) + "i"
}


相关文章
|
6月前
|
Go C++
【力扣】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
【2月更文挑战第18天】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
59 6
|
6月前
|
Go C++
【力扣】2645. 构造有效字符串的最小插入数(动态规划 贪心 滚动数组优化 C++ Go)
【2月更文挑战第17天】2645. 构造有效字符串的最小插入数(动态规划 贪心 滚动数组优化 C++ Go)
42 8
每日一题 --- 942. 增减字符串匹配[力扣][Go]
每日一题 --- 942. 增减字符串匹配[力扣][Go]
每日一题 --- 942. 增减字符串匹配[力扣][Go]
|
算法 Go
每日一题 --- 442. 数组中重复的数据[力扣][Go]
每日一题 --- 442. 数组中重复的数据[力扣][Go]
每日一题 --- 442. 数组中重复的数据[力扣][Go]
每日一题 --- 933. 最近的请求次数[力扣][Go]
每日一题 --- 933. 最近的请求次数[力扣][Go]
每日一题 --- 933. 最近的请求次数[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]
每日一题 --- 713. 乘积小于 K 的子数组[力扣][Go]
每日一题 --- 606. 根据二叉树创建字符串[力扣][Go]
每日一题 --- 606. 根据二叉树创建字符串[力扣][Go]
每日一题 --- 606. 根据二叉树创建字符串[力扣][Go]
|
Go 索引
每日一题 ---- 599. 两个列表的最小索引总和[力扣][Go]
每日一题 ---- 599. 两个列表的最小索引总和[力扣][Go]
每日一题 ---- 599. 两个列表的最小索引总和[力扣][Go]
|
存储 测试技术 Go
每日一题 --- 393. UTF-8 编码验证[力扣][Go]
每日一题 --- 393. UTF-8 编码验证[力扣][Go]
每日一题 --- 393. UTF-8 编码验证[力扣][Go]
每日一题 --- 590. N 叉树的后序遍历[力扣][Go]
每日一题 --- 590. N 叉树的后序遍历[力扣][Go]
每日一题 --- 590. N 叉树的后序遍历[力扣][Go]