搜狐两道编程题思路求教

1第一题
题意是利用给出的数组里面的数字构造两个自增长的数组,使数组1变换后等于数组2.
问题是:这数列怎么自增长的。(可能我至今没看懂题目)

题2
求需要多少个66的箱子(通过率0.5)
思路:
Step1 算出66 55  需要的箱子 (剩余的空间可以给22 11)
Step2 两个变量
a 每个箱子剩下的剩余空间的总大小(目前是55剩下的)
count 需要的箱子总数(目前是66 55的总数)
Step3
计算44 需要的箱子数 然后把22个数带进去看最多能放多少个 更新a count
计算33需要箱子数 然后把22放进去 更新a count
Step4
把a和11的箱子数量比较 如果不够 count+1 否则不用管
完毕  请教这个思路有什么问题
以上代码都忘记保存了 做的太着急
#搜狐#
全部评论
点赞 回复 分享
发布于 2017-08-29 11:07
第一题:         int aNum[m];//为输入的数组;         int ans[n];//为输出数组;         ans[0]=aNum[0];         int num=0,aIndex=0,ansIndex=0;         while(num<n){             for(int i=0;i<ans[ansIndex];i++){                  ans[num]=aNum[aIndex];                  num++;             }             ansIndex++;             aIndex++;             if(aIndex==m)                 aIndex=0;         } 第二题:         我是比较笨的方法a的         放入全部6;         放入全部5:                 剩余空间放入1         放入4:                 剩余空间放入2:若2放完,放入1         放入3:                 看3的个数对4的余数:余数大于0:放入2和1:若2放完,再剩余空间放入1         放入2:若有剩余空间,放入1         放入1.                
点赞 回复 分享
发布于 2017-08-29 09:10
说说第一题吧,首先这个序列是由给定数组的数交替组成,关键在于求每个数的个数!看他给的第一个例子,分组之后每组的数字个数放在一起仍然是原数列,也就是说当前分组的个数是序列前边的某个数,我们只需要用一个下标j记录就好了!
点赞 回复 分享
发布于 2017-08-29 00:43
不知道为啥通过率是0.00%。。。 把scanf("%d %d", &n, &m);改成scanf("%d", &n); scanf("%d", &m);就通过了20.00%。。 好方。
点赞 回复 分享
发布于 2017-08-29 13:06
第一题 def kolakoski(x,n): k = 0 res = [] for count in range(n): k = k%len(x) res.append(x[k]) res.extend([x[k]]*(res[count]-1)) k+=1 return res
点赞 回复 分享
发布于 2017-08-29 10:54
第一题半天没把bug改出来,还耽误了做选择题的时间,看来是挂了...
点赞 回复 分享
发布于 2017-08-29 09:32
bestmind.space 这里有
点赞 回复 分享
发布于 2017-08-29 02:32

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务