`

轩辕互动面试题两道比较复杂的

阅读更多
刚去轩辕互动面试,linux下三道题

1个半小时的,两个15分钟的

下面是两道需要半个小时的题

1.平衡点问题
  平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
要求:返回任何一个平衡点

public class Equity{
 
 public static int equity(int[] numbers){
  int total=0;
  
  for(int i=0;i<numbers.length;i++){
   total+=numbers[i];
  }
  
  int frontSum = 0;
  
  for(int i=0;i<numbers.length;i++){
   int backSum = total - frontSum - numbers[i];
   System.out.println(i + "------" + frontSum);
   System.out.println(i + "------" + backSum);
   if(frontSum == backSum) { 
    return i;
   }
   frontSum += numbers[i];
  }
  
  return -1;
 }
}
支配点问题:
支配数:数组中某个元素出现的次数大于数组总数的一半时就成为支配数,其所在位序成为支配点;比如int[] a = {3,3,1,2,3};3为支配数,0,1,4分别为支配点;
要求:返回任何一个支配点

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Dominator {
 
 @SuppressWarnings("unchecked")
 public static int dominator(int[] a) {
  if(a == null || a.length == 0)
   return -1;
  
  List intList = new ArrayList();
  
  for(int i=0; i<a.length; i++) {
   intList.add(a[i]);
  }
  
  System.out.println(intList);
  
  Collections.sort(intList);
  
  System.out.println(intList);
  
  int maxCount = 0;
  int maxCountElement = 0;
  int maxCountTemp = 0;
  int maxCountElementTemp = (Integer)intList.get(0);
  for(int i=0; i<intList.size(); i++) {
   if(intList.get(i).equals(maxCountElementTemp)) {
    maxCountTemp++;
   } else {
    if(maxCountTemp > maxCount) {
     maxCountElement = maxCountElementTemp;
     maxCount = maxCountTemp;
    }
    maxCountElementTemp = (Integer)intList.get(i);
    maxCountTemp = 1;
   }
   System.out.println(i + "---------" + maxCount);
   System.out.println(i + "---------" + maxCountElement);
   System.out.println(i + "---------" + maxCountTemp);
   System.out.println(i + "---------" + maxCountElementTemp);
  }
  
  if(maxCountTemp > maxCount) {
   maxCountElement = maxCountElementTemp;
   maxCount = maxCountTemp;
  }
  
  if(maxCount > a.length/2) {
   for(int i=0; i<a.length/2; i++) {
    if(a[i] == maxCountElement) {
     return i;
    }
   }
  }
  
  return -1;
 }
}


分享到:
评论

相关推荐

    轩辕剑online、轩辕剑4中PLY模型读取程序源码

    《轩辕剑online、轩辕剑4中PLY模型读取程序源码》 PLY(Polygon File Format)是一种用于存储3D模型的文件格式,由斯坦福大学开发,常用于3D建模和图形处理领域。该文件格式简洁且易于解析,包含了模型的顶点、面...

    趴站蹲点\轩辕剑V3.31.zip

    在《轩辕剑V3.31》中,玩家将扮演主角,与其他角色互动,解决谜题,与敌人战斗。游戏采用了回合制战斗系统,玩家可以根据角色的属性和技能策略性地进行战斗。此外,游戏还包含了丰富的物品系统、技能树和角色养成...

    轩辕剑枫之舞(Dosbox运行)

    《轩辕剑外传 枫之舞》是由大宇资讯制作的角色扮演游戏,于1995年1月6日在台湾发行。这款游戏是轩辕剑系列的首部外传作品。游戏背景设定在战国时期,讲述了墨子弟子辅子彻发现鬼谷子弟子蜀桑子的阴谋后,踏上江湖的...

    轩辕剑java代码

    【标题】:“轩辕剑java代码”揭示了这个压缩包文件主要包含与“轩辕剑”相关的Java编程源代码。轩辕剑,作为一个历史悠久的中国神话传说中的宝剑,可能在此处指的是一个软件项目或游戏的名称,而这个项目或游戏的...

    轩辕9500四路软件.zip

    轩辕9500四路软件.zip是一个压缩包文件,包含了专为轩辕品牌的四路采集卡设计的Windows驱动程序和相关工具。这个采集卡是用于监控系统中的,它利用同轴电缆作为传输媒介来捕获和处理视频信号。同轴通信是一种传统而...

    手机游戏——轩辕豪侠传-破解版.jar

    最新的手机游戏——轩辕豪侠传-破解版.jar

    轩辕7004硬盘录像机软件

    本设备是专为安防领域设计的一款数字监控产品,它采用了嵌入式处理器和嵌入式操作系统,结合了IT 领域各项最新技术,如视音频压缩/解压缩、大容量硬盘记录、TCP/IP 网络等技术,代码固化在FLASH 中,使得系统运行更...

    轩辕4路监控卡驱动

    【轩辕4路监控卡驱动】是一款专为四通道监控设备设计的硬件驱动程序,由轩辕品牌在2012年6月发布。该驱动程序的主要功能是为4路监控采集卡提供必要的支持,确保视频数据的稳定传输和高质量的图像显示。在监控系统中...

    轩辕剑online、轩辕剑4中PLY模型读取工具

    可以读取显示轩辕剑online、轩辕剑4、苍之涛里面的PLY模型。

    【站长亲测】轩辕剑一键安装即玩服务端游戏程序+充值后台

    轩辕剑一键安装即玩服务端游戏程序+充值后台

    轩辕剑5完全說明手册

    轩辕剑5完全說明手册 轩辕剑5完全說明手册

    轩辕剑3外传天之痕完全手册

    轩辕剑3外传天之痕完全手册

    轩辕旅行网站源码,全源码

    【轩辕旅行网站源码解析】 本项目名为“轩辕旅行网站”,是基于C#编程语言开发的一款在线旅游服务平台的源代码。C#是一种现代化、类型安全的面向对象编程语言,广泛应用于Windows平台上的软件开发,尤其是.NET框架...

    轩辕剑网络版经验显示工具

    仅显示轩辕剑网络版游戏中的经验数值 支持双开,支持蚩尤再现 不提供外挂功能

    截取轩辕剑6的3D模型

    截取轩辕剑6的3D模型 《轩辕剑陆》正式版(需激活)或试玩版(←我不是来卖萌的,强迫症一定要列全,桑不起…) (2) GameAssassin,游戏模型截取软件。

    通过MAX SDK获取轩辕剑PLY运动矩阵

    通过MAX SDK获取轩辕剑PLY运动矩阵;

    轩辕剑打码程序

    9900炮 游戏程序的软件版打码器 适用少数复制的版本

    VC游戏源码 轩辕剑

    我编写的游戏全部源码,内部包含地图编辑器源码。

    轩辕中学2008—2009学年八年级数学下月考试题精选.doc

    这份文档是轩辕中学2008—2009学年八年级数学下月的考试试题,涵盖了选择题、填空题和解答题等多种题型,主要测试学生的数学能力,包括但不限于代数、不等式、方程、因式分解、几何等知识点。 1. **选择题**: - ...

    VC轩辕剑天之痕【包含图片视频音乐源代码】PART.2

    VC轩辕剑天之痕【包含图片视频音乐源代码】PART.2

Global site tag (gtag.js) - Google Analytics