首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
简单的变换
6条解析
开通博客写题解
heyJulian
发表于 2020-08-14 16:38:11
暴力出所有的可能集合,再与要求的限制作比较。最终求出能组成的新集合数量。 有n个元素,每个元素都有取与不取的两种可能,所以应该是2^n个. 因为n<=20,故至多有10^6个集合,我们可以采用暴力搜索。 因为要遍历出所有的取值情况,我们使用回溯来解决此类问题。
展开全文
heyJulian
发表于 2020-08-14 14:24:35
新建一个数组res,用于保存结果。 新建一个pos下标,用于指向数组res的最新元素的位置。 循环遍历一次输入数组str: 1.当res的第pos个元素和str的第i个元素都等于1,删除res的第pos个元素 并pos减一; &
展开全文
未来0116
发表于 2021-10-06 10:07:58
一.题目描述 NC638简单的变换 给一个正整数n,如果n是奇数,将其减去3;如果n是偶数,将其变为n/2。如果可以进行若干次操作后使得n等于0,返回需要操作的次数,如果无法将n变为变为0,返回-1。 二.算法一(数学) 我们可以从0开始反过来推导,首先要使n的最后值是0那么必然是n−3=0n-3
展开全文
SandMonth
发表于 2021-10-13 01:49:16
NC638 简单的变换 给你一个正整数n,重复进行以下操作: 1.如果n是奇数,令n=n−3 2.如果n是偶数,令n=n/2 重复上述直至n=0停止,请输出进行操作的次数,如果n永远无法变成零,输出-1 案例 输入:9 返回值:3 说明: 1.9->6(9-3=6) 2.6->3(
展开全文
xqxls
发表于 2021-09-14 12:59:21
题意整理 给定正整数n,如果n是奇数,将其减去3;如果n是偶数,将其变为n/2。 如果n等于0,返回之前变换次数,如果无法变为0,返回-1。 方法一(模拟) 1.解题思路 用一个死循环,模拟n的值变换的过程。 如果n是奇数,将其减去3;如果n是偶数,将其变为n/2。 如果n小于0,说明不可能再
展开全文
蘑菇睡不着
发表于 2021-09-05 20:26:59
描述 给你一个正整数n,重复进行以下操作:1.如果n是奇数,令n=n-3n=n−32.如果n是偶数,令n=n/2n=n/2重复上述直至n=0停止,请输出进行操作的次数,如果n永远无法变成零,输出-1 示例1 输入: 2 返回值: -1 说明: 1:2->1(2/2=1) 2:1->
展开全文
查看本题
查看本题讨论
相关比赛
6911-牛客编程巅峰赛S1第11场 - 青铜&白银
进入比赛
38446-测试题5
进入比赛
39231-SZU-N303-B笔试训练赛6
进入比赛
等你来战
查看全部
新疆大学2025年7月月赛(同步赛)
报名截止时间:2025-07-06 18:00
牛客周赛 Round 99
报名截止时间:2025-07-06 21:00
牛客练习赛142
报名截止时间:2025-07-11 21:30
2025年第一届上海师范大学程序设计竞赛(同步赛)
报名截止时间:2025-07-13 18:00
牛客周赛 Round 100
报名截止时间:2025-07-13 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题