第四题 AC public class Main {     private static int[] arr={0,1,2,3,4,5,6,7,8,9};     private static int count=0;     private static Set<String> set=new HashSet<>();     public static void main(String[] args){         Scanner in=new Scanner(System.in);         count=0;         int n=in.nextInt();         if(n<=1)         {             System.out.println(0);             return;         }         int[] arr=new int[n];         for(int i=0;i<n;i++)         {             arr[i]=in.nextInt();         }         is(arr,0);         System.out.println(count);     }     private static void is(int[] arr,int index)     {         if(index>=arr.length)         {             String str=Arrays.toString(arr);             if(!set.contains(str))             {                 if(is(arr))                 {                     count++;                 }                 set.add(str);             }         }         for(int i=index;i<arr.length;i++)         {             swap(arr,i,index);             is(arr,index+1);             swap(arr,i,index);         }     }     private static void swap(int[] arr,int i,int j)     {         if(i==j)         {             return;         }         int temp=arr[i];         arr[i]=arr[j];         arr[j]=temp;     }     private static boolean is(int[] arr)     {         for(int i=1;i<arr.length;i++)         {             if(!is(arr[i-1]+arr[i]))             {                 return false;             }         }         return true;     }     private static boolean is(int n)     {         double d=Math.sqrt(n);         double ds=0;         for(int a:arr)         {             for(int i=0;i<arr.length;i++)             {                 ds=d%arr[i];                 if(ds==a)                 {                     return true;                 }             }         }         return false;     } }
点赞 1

相关推荐

01-04 14:39
莆田学院 Java
最刁钻的不是技术题,而是一个看似简单的情境题:“如果业务方坚持要你一周内上线一个你认为存在重大技术隐患的功能,你会怎么办?”&nbsp;这个问题像一把三棱镜,同时考察技术判断、沟通协调和职场原则——单纯回答“听从安排”显得软弱,“坚决拒绝”又显得固执。我当时的回答是分层应对:先拉齐信息(用数据量化风险,明确“重大隐患”的具体影响),再寻找共识(提供可替代的MVP方案或分阶段上线计划),最后锚定责任(书面记录不同方案的风险评估并确认决策方)。面试官听完追问:“如果所有沟通都失败了,你仍然被要求强制执行,你会做什么?”&nbsp;这才是问题的真正内核——它测试的是程序员的职业底线。我的答案是:“在最终确认执行前,我会发送一封汇总所有技术风险的邮件,抄送相关方与我的直系上级,并明确标注‘根据当前评估,此方案可能导致XX服务不可用’。然后,我会开始准备故障预案和回滚方案。”这个问题之所以刁钻,是因为它没有标准答案,却能照见一个开发者从技术执行者到风险共担者的成长阶段。它让我意识到:高级工程师的价值不仅在于解决问题,更在于如何有策略地定义问题、管理预期,并在必要时,用专业尊严守住系统的安全红线。这个问题的回声,至今仍在我每次面对需求评审时轻轻响起。
面试官问过你最刁钻的问题...
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务