#刷题交流# 第二十七天 数字分组求偶数和
题目目标:
使得这个新数的各位数字之和为偶数。—— 换句话说,任务是计算出有多少种不同的分组和选择方法可以达到这一目标。
思路:
numbers: 一个由多个整数字符串组成的列表,每个字符串可以视为一个数字组。 需要从每个数字组中选择一个数字。并且该新生成数的各个位上的数是按照第一、二、三......的数组中的顺序表示
通过递归的方式,并判断每一个组合是否为偶数就可以求解结果。
在我列出所有的可能后:
不难发现,每一个前缀组合相同的情况下,最后一个数的奇偶性,决定了是否满足目标。
前缀为偶数,那么最后一位必须为偶数
前缀为奇数,那么最后一位必须为奇数
那么,凭借这个特性,我们是否可以进行一些优化的可能,减少一层的递归,优化时间复杂度和空间复杂度
最后一天啦,完美打卡![[呲牙]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
![[呲牙]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
题目目标:
使得这个新数的各位数字之和为偶数。—— 换句话说,任务是计算出有多少种不同的分组和选择方法可以达到这一目标。
思路:
numbers: 一个由多个整数字符串组成的列表,每个字符串可以视为一个数字组。 需要从每个数字组中选择一个数字。并且该新生成数的各个位上的数是按照第一、二、三......的数组中的顺序表示
通过递归的方式,并判断每一个组合是否为偶数就可以求解结果。
在我列出所有的可能后:
不难发现,每一个前缀组合相同的情况下,最后一个数的奇偶性,决定了是否满足目标。
前缀为偶数,那么最后一位必须为偶数
前缀为奇数,那么最后一位必须为奇数
那么,凭借这个特性,我们是否可以进行一些优化的可能,减少一层的递归,优化时间复杂度和空间复杂度
最后一天啦,完美打卡
![[呲牙]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
![[呲牙]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_2.cd1e2bd.png)
展开
1
1
【系统任务全新升级|黄金矿工挖矿石啦】jym!豆包MarsCode AI 刷题功能现已接入掘金社区「每日签到」—「我的任务」板块。无需下载,操作简单便捷。首次完成刷题任务,即可获得 10000 矿石奖励!在 12 月 5 日至 12 月 31 日活动期间,每日任务同步上线。只要完成每日任务,亦可收获 3000 矿石奖励~还有「黄金矿工上班任务」等你来完成。年终福利不容错过!「我的任务」直通车: