搜狐笔试

第二道包裹的题目怎么感觉给的用例有问题啊。。。还是我没懂题目的意识
全部评论
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); in.nextLine(); ArrayList<Integer> list = new ArrayList<>(); String[] str = in.nextLine().split(" "); int count = 0; int whole = 0; int k = 0; while (whole <= n) { k %= m; int t = Integer.valueOf(str[k]); list.add(Integer.valueOf(str[k])); k++; for (int j = 0; j < list.get(count) - 1; j++) { whole++; list.add(t); } count++; } for (int s = 0; s < n; s++) System.out.println(list.get(s)); in.close(); } }
点赞 回复 分享
发布于 2017-08-28 20:31
要代码的几个意思? 这是笔试!
点赞 回复 分享
发布于 2017-08-28 20:00
我是用js写的kolakoski那题,但通过率只有20%,有人帮我看看哪里有错吗? let temp = readline().split(' '); let n = temp[0], m = temp[1]; // n为上限个数,m为构成序列的数字的个数 let arr = readline().split(' '); // arr为构成序列的数字 let count = 0; // 总数 while(count <= n){ let temp = Number(arr[Math.floor(Math.random() * Number(m))]); // 从arr中随机选一个数字temp if((count + temp) < n){ // 总数加上temp个数字不超上限个数 count += temp; for(let i = 0; i < temp; i++){ console.log(temp); } } else { // 总数加上temp个数字超上限个数,打印(上限个数减当前总数)个temp for(let i = 0; i < (n - count); i++){ console.log(temp); } break; } }
点赞 回复 分享
发布于 2017-08-29 09:11
第二题ac。 思路: 6*6  一个箱子 5*5  一个箱子,还可以再放11个1*1 4*4 5个2*2或者20个1*1 3*3 分为4个3*3,3个3*3 + 1个2*2 +5个1*1,2个3*3+3个2*2+6个1*1,1个3*3+5个2*2+7个1*1。 2*2 和 1*1 可以作为基本单位来处理。 代码就不上了,写的太丑了。
点赞 回复 分享
发布于 2017-08-28 20:40
题二题我直接暴力解,所有情况还没列举完结果没时间了,然后提交竟然AC了,说明测试样例不够丰富啊,
点赞 回复 分享
发布于 2017-08-28 20:38
第2题为什么只过了75%.我蒙的.
点赞 回复 分享
发布于 2017-08-28 20:38
第二题有问题吧,我本地跑测试用例都是2,1提交久 就百分之0了
点赞 回复 分享
发布于 2017-08-28 20:35
第一题一直80%…
点赞 回复 分享
发布于 2017-08-28 20:35
第一题AC,第二题二维数组一直报错……崩
点赞 回复 分享
发布于 2017-08-28 20:33
第一题刚开始完全没懂。。。后来好不容易AC了,第二题没时间了
点赞 回复 分享
发布于 2017-08-28 20:33
求C++代码
点赞 回复 分享
发布于 2017-08-28 20:33
第一题没怎么看懂
点赞 回复 分享
发布于 2017-08-28 20:33
请问写的代码会自动提交吗?牛课给自动提交试卷了....
点赞 回复 分享
发布于 2017-08-28 20:32
#!/usr/bin/env python #-*- coding:utf8 -*- def findNum(array, n, m): res = [array[0]] nums = [] for i in range(n/m+1): nums = nums + array m = len(nums) if array[0] > 1: for i in range(m): k = res[i] if i == 0: k -= 1 for j in range(k): res.append(nums[i]) else: res.append(array[1]) for i in range(1, m): k = res[i] if i == 1: k -= 1 for j in range(k): res.append(nums[i]) for i in range(n): print res[i] if __name__ == '__main__': n, m = map(int, raw_input().split()) nums = map(int, raw_input().split()) findNum(nums, n, m)
点赞 回复 分享
发布于 2017-08-28 20:31
第一题没懂,第二题AC了
点赞 回复 分享
发布于 2017-08-28 20:31
第二题挺简单的,从大到小加就行了;第一题没怎么看懂
点赞 回复 分享
发布于 2017-08-28 20:29
牛客会代码审查吗
点赞 回复 分享
发布于 2017-08-28 20:27
第二题大家通过了吗,怎么一直通不过
点赞 回复 分享
发布于 2017-08-28 20:10
第一题为什么只过了40%..
点赞 回复 分享
发布于 2017-08-28 20:07
求代码,完全没看懂
点赞 回复 分享
发布于 2017-08-28 19:55

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务