产品展示
  • 车载蓝牙重低音炮12V汽车摩托货车24v专用音改装无线音箱小钢炮
  • 适用于12-18款起亚K3中央扶手箱卡扣配件K3改装拉手板卡子锁扣钩
  • 适用13-14款新朗逸后尾灯总成转向灯刹车灯 倒车灯 防追尾灯 原厂
  • 汤浅44B19L汽车蓄电池12V 40AH飞度锋范思迪理念哥瑞奥拓竞瑞电瓶
  • 适用于标致小狮子打怪兽车尾标志贴301 308 408 508 打怪兽车贴
联系方式

邮箱:admin@aa.com

电话:020-123456789

传真:020-123456789

汽车配件

leetcode2310_go_个位数字为K的整数之和

2024-04-29 22:44:13      点击:541

leetcode2310_go_个位数字为K的整数之和

题目

给你两个整数 num 和 k ,个位考虑具有以下属性的数字数正整数多重集:

每个整数个位数字都是 k 。

所有整数之和是个位 num 。

返回该多重集的数字数最小大小 ,如果不存在这样的个位多重集  ,返回 -1  。数字数

注意 :多重集与集合类似,个位但多重集可以包含多个同一整数 ,数字数空多重集的个位和为 0 。

个位数字 是数字数数字最右边的数位  。

示例 1:输入 :num = 58,个位 k = 9 输出 :2

解释:多重集 [9,49] 满足题目条件,和为 58 且每个整数的数字数个位数字是 9 。

另一个满足条件的个位多重集是 [19,39] 。

可以证明 2 是数字数满足题目条件的多重集的最小长度  。

示例 2 :输入 :num = 37,个位 k = 2 输出:-1

解释 :个位数字为 2 的整数无法相加得到 37  。

示例 3:输入 :num = 0, k = 7 输出:0

解释:空多重集的和为 0  。

提示:0 <= num <= 3000

0 <= k <= 9

解题思路分析

1  、枚举;时间复杂度O(n),空间复杂度O(1)

func minimumNumbers(num int, k int) int { n if num == 0 { n return 0n }n if k == 0 { n if num%10 == 0 { n return 1n }n return -1n }n if num%2 == 1 && k%2 == 0 { n return -1n }n for i := 1; i <= num; i++ { n sum := i * kn left := num - sumn if left%10 == 0 { n return in }n if left < 0 { n return -1n }n }n return -1n}

2 、枚举;时间复杂度O(1) ,空间复杂度O(1)

leetcode2310_go_个位数字为K的整数之和

func minimumNumbers(num int, k int) int { n if num == 0 { n return 0n }n for i := 1; i <= 10; i++ { n // 只考虑个位数n if i*k <= num && (i*k)%10 == num%10 { n return in }n }n return -1n}

总结

Medium题目,找到规律枚举即可

金铲铲之战:巨神刺成为当前版本上分首选,祖安双C化身不死战神!
英雄联盟手游劫怎么玩,LOLM劫全方位教学攻略