2023Web前端逻辑面试题

1、现有9个小球,已知其中一个球比其它的重,如何只用天平称2次就找出该球?

①把9个球分成三份,三个一份;

②拿出其中两份进行称量;会分为两种情况

  • 若拿出的两份小球称量结果,重量相等;然后在剩下的那一份小球随机取出两个小球,进行称量,若重量相等,就是剩下的那一个是不一样的小球,若重量不相等,较重的就是重量重的。
  • 若拿出的两份小球称量结果,重量不相等;然后在把重量重的那一份小球随机取出两个小球,进行称量,若重量相等,就是剩下的那一个是不一样的小球,若重量不相等,较重的就是重量重的。

2、有 1支不均匀的香,完全燃烧完需要 1个小时,现有2支同样的香,如何确定 15 分钟的时间?

①第一根香的两端同时点着,第二根香点着一端

②当第一根香烧完后过了半个小时,接着再点着第二根香的另一端,则第二根香会在15分钟后烧完

3、有六个数 1、2、2、3、4、5,要求3、5不能相邻,4 不能在第三位,问共有多少种排列?

注:①遍历从最小数到最大数得到数值;

       ②把得到的数值转换成String类型;

       ③通过String的indexOf 判断4不能在第三位;

       ④通过String的contains 判断"3"与"5"不能相连;

class Main {
 

  /***
   * 题目如下:用 1、2、2、3、4、5 这六个数字,用 java 写一个 main 函数,打印出所有不同的排列,如: 512234、412345
   * 等,要求:"4"不能在第三位,"3"与"5"不能相连。
   * 分析:
   * 1.不考虑条件,一共会产生多少个数字
   * 2.去筛选数字,满足要求的留下来
   * 3.将数字int类型转为String类型,利用String的方法来筛选 
   *
   */
 
      public static void main(String[] args) {
        int a=0;
          //六个数字所有组成的情况,从最小数到最大数
          for (int i = 122345; i <= 543221; i++) {
              if (method(String.valueOf(i))) {    //是否满足条件
                  System.out.println(i);
                  a++;
              }
          }
          
          System.out.println("最后结果:"+a);
  
      }
  
      /***
       * 判断数字是否满足要求
       * 
       * @param s
       */
      public static boolean method(String s) {
          String[] arr = { "1", "2", "3", "4", "5" };
  
          // 判断数字中是否含有12345五个数字
          for (int i = 0; i < arr.length; i++) {
              if (!s.contains(arr[i])) {
                  return false;
              }
          }
  
          // 判断数字中是否含有两个2,上面已经判断6个数字含有12345五个数字,只有一个数字有重复的机会,因此这里不需要判断数字2会出现3次甚至3次以上
          if (s.lastIndexOf("2") == s.indexOf("2")) {
              return false;
          }
  
          // 判断"4"不能在第三位
          if (s.indexOf("4") == 2) {
              return false;
          }
  
          // 判断"3"与"5"不能相连
          if (s.contains("35") || s.contains("53")) {
              return false;
          }
  
          //上面条件都满足,那么返回true
          return true;
      }
  
  }
 

猜你喜欢

转载自blog.csdn.net/weixin_41620505/article/details/132894026