2016年搜狗笔试第二题 火眼金睛 实现源码
来源:互联网 发布:windows live无法安装 编辑:程序博客网 时间:2024/04/29 23:21
package myTest;import java.util.Arrays;import java.util.HashSet;import java.util.Set;public class Main3 {public static int[][]Array;//用来记录二维数组public static int[]userids;// 用来记录所有的用户id信息public static int getIndex(int id)//获取对应的下标{ int index=0; for(index=0;index<userids.length;index++) { if(userids[index]==id) { return index; } } return index;}public static int [] getArray(Set<Integer> set)//去重{int size=set.size();int []arr=new int[size];int index=0;for(Integer s:set ){ arr[index]=s; index++;}Arrays.sort(arr);//排序return arr;}public static void mark(int [] array)//做{int firstID=array[0];int firstIndex=getIndex(firstID);for(int j=1;j<array.length;j++){int otherID=array[j];int otherIndex=getIndex(otherID);Array[firstIndex][otherIndex]=1;}} public static void main(String[] args) {int [][]array={{101,102,103},{102,101},{103}};Set<Integer> set=new HashSet();for(int i=0;i<array.length;i++){int []arr2=array[i]; for(int j=0;j<arr2.length;j++) { set.add(arr2[j]);//去重操作 }}userids= getArray(set);int s=userids.length;Array=new int[s][s];for(int i=0;i<array.length;i++){int []arr2=array[i]; mark(arr2);//做标记}Set <Integer> lieSet=new HashSet();//标记作弊人员for(int i=0;i<Array.length;i++){int []arr2=Array[i];for(int j=0;j<=i;j++)//遍历一半就可以{if(Array[i][j]==1&&(Array[i][j]==Array[j][i])){int fromUID=userids[i] ;int toUID=userids[j];System.out.println("作弊人员:"+fromUID+","+toUID);lieSet.add(fromUID);lieSet.add(toUID); for(int k=0;k<s;k++)//i,j行对应的某一列也是1,则该列也为作弊用户 { if(Array[i][k]==1&&(Array[j][k]==Array[i][k]))//找到第三个作弊的用户 { int thirdUID=userids[k]; lieSet.add(thirdUID); } }}//System.out.print(Array[i][j]+" ");}System.out.println();}System.out.println("------------作弊人员----------------");for(Integer t:lieSet){System.out.print(t+",");}}}
0 0
- 2016年搜狗笔试第二题 火眼金睛 实现源码
- 火眼金睛
- 火眼金睛
- 火眼金睛
- 牛客网---2016---搜狗火眼金睛
- 完美世界 2016 笔试 编程第二题
- 第二道笔试题
- 阿里笔试第二题
- 2016校招腾讯研发岗笔试题(第二题)用Java实现
- HHUOJ 1014 火眼金睛(另类思路题)
- 贡献螺旋队列实现源码(一道笔试题)
- 华为笔试题--LISP括号匹配 解析及源码实现
- 十月份第二周笔试题
- 小米2015笔试第二题
- 笔试题基础(第二篇
- 网易笔试编程第二题
- 2016阿里C++研发笔试题附加题第二题
- 华为2016年秋招笔试编程题(第二题)
- 计算机网络协议汇总
- No.1 定时器接口timer的设计
- ocp-485
- Android下拉刷新上拉加载控件,对所有View通用!
- 在代码写布局,设置相应的位置,同时分析一下布局中View这个控件的高度,宽度(主要用于画实线虚线)
- 2016年搜狗笔试第二题 火眼金睛 实现源码
- ocp-486
- Hadoop全链路监控解决方案
- OGRE mesh的渲染流程
- 【黑马训练营】IOS C语言代码块
- ocp-487
- SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XXX'
- ocp-488
- ocp-489