两道JAVA笔试题

2023-07-06   


题目一:一个数组,“支配者”是在数组中出现频率超过一半的整数, 例如[3,4,3,2,-1,3,3,3]数值“3”出现过5次,5除以8大于0.5 所以数值“3”是一个支配者; 而在这个数组中的支配者出现在数组下标[0,2,4,6,7]
   写一个函数,在给定的整数数组中找出支配者所在的任意一个数组下标,如果一个数组中没有支配者返回-1。
   题目二:“有序数组中绝对值不同的数的个数”指的是,一个已经排好序的整数数组中,绝对值不相同的数字的个数。例如:[-5,-3,-1,0,3,6].请返回给定有序数组中绝对值不同的数的个数。
   第一题:
   自己建立一个类,包括属性:value,count,pos(数组)。
   pos数组存放每个value的位置。
   把所有数据全部查询一遍,碰到一个新的数就给这个数生成一个对象,以后碰到同样的数则把他的位置放在pos数组里。
   查询后的结果是在一个数组里的。
   第二题:
   从两边往中间找,有点类似于数据结构中的某种排序方法,不过这是寻找。
   1.随便从一边开始,然后比较两端的绝对值,记下小的一端,从大的一端往里找。
   2.如果碰到了比小的一端还小的数据,则记下它,从以前的小的一端开始往里找。
   3.一直这样下去。
   如:-5,-3,-2,0,2,3,4
   假如从左边开始:
   -5 4 小的:4
   4 -3 小的:-3
   -3 3 小的:-3 (3重复一次)
   -3 2 小的:2
   2 -2 小的:2 (2重复一次)
   0 完毕
   于是绝对值不重复的有:3个


相关内容:

  1. c/c++某大公司的两道笔试题
  2. java笔试题及答案
  3. 灵泰克Java笔试题
  4. 益模软件Java笔试题
  5. 金鑫耀Java笔试题
  6. 一套英文Java笔试题面试题