题解征集|发9.11百词斩题解,攒人品,赢牛客T恤!

9.11百词斩笔试结束!你考的怎么样?~
欢迎大家发自己的题解哦,筱茜会从按照规则发布题解的牛友中挑选一位送上牛客定制T恤一件~~

规则:

- 在牛客讨论区“笔经面经”板块发布你的题解
- 在本帖下回复你的题解链接即可~
- 将从按照规则发布题解者中抽出一位送上牛客定制T恤一件~



--------------------------------
本场笔试讨论专帖:https://www.nowcoder.com/discuss/107072
与更多牛友一起讨论笔试吧~
#题解##百词斩#
全部评论
第三题 #include <iostream> #include<algorithm> using namespace std; int num[1000*1000]; int item; int main() {     int n;     while(cin >> n ){         int i;         item = 0;         for(i=0;i<n;i++){             int m,k,j;             cin>>m;             for(j=0;j<m;j++)                 cin>>num[item++];         }         sort(num,num+item);         for(i=0;i<item-1;i++)             printf("%d ",num[i]);         printf("%d\n",num[i]);     } }
点赞 回复
分享
发布于 2018-09-11 14:05
第二题用的dfs 先定义一个全局变量flag=0; i表示数组当前位置,Mnum表示加和数 void dfs(int i,int Mnum){     if(i>n||flag ==1)         return;     if(Mnum == k){         flag = 1;         return; }     dfs(i+1,Mnum+a[i]);     dfs(i+1,Mnum); }
点赞 回复
分享
发布于 2018-09-11 14:09
阿里巴巴
校招火热招聘中
官网直投
第三题 var n = parseInt(readline());     var arr = [];     for(var i = 0; i < n; i ++){         var item = readline().split(' ');         for(var j = 1; j < item[0]; j ++){             arr.push(parseInt(item[j]));         }     }     arr.sort((a, b)=> a - b;);     var stra = arr.toString();     var strb = atra.replace(/,/g, ' ');     print(atrb); 第一题 var num = parseInt(readline());     function isZnum(num){         for(var i = 2; i < num; i ++){             if(num % i == 0){                 return false;             }         }         return true;     }     print(isZnum(num)); 第二题只有85%不贴了
点赞 回复
分享
发布于 2018-09-11 14:10
有百词斩第二题的Java解法吗。。。谢谢各位大佬
点赞 回复
分享
发布于 2018-09-11 15:02
第二题:暴力,AC,JAVA import java.util.Scanner; public class Main2 { public static void main(String[] args){ Scanner sc =new Scanner(System.in); int n = sc.nextInt(); int[] list = new int[n]; for (int i = 0; i < n; i++) list[i] = sc.nextInt(); int tar = sc.nextInt(); System.out.println(count(list,0,0,tar, 0)); } public static boolean count(int[] list, int po, int sum, int tar, int n){ if (po >= list.length) return false; if ((n > 0 && sum == tar) || sum+list[po] == tar) return true; return count(list, po + 1, sum , tar, n) || count(list, po + 1, sum + list[po], tar, n+1); } }
点赞 回复
分享
发布于 2018-09-11 16:52

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务