`
ganglong99
  • 浏览: 161352 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

一道java面试题

阅读更多

题目:
一个数组,“支配者”是在数组中出现频率超过一半的整数,
例如[3,4,3,2,-1,3,3,3]数值“3”出现过5次,5除以8大于0.5
所以数值“3”是一个支配者;
而在这个数组中的支配者出现在数组下标[0,2,4,6,7]
写一个函数,在给定的整数数组中找出支配者所在的任意一个数组下标,如果一个数组中没有支配者返回-1;

 

解决代码如下:

public class ArrayOperate {
    static List<Integer> find(int[] a) {
        int length = a.length;
        int half = length / 2;
        int count = 0;
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < length; j++) {
                if (a[i] == a[j]) {
                    list.add(j);
                    count++;
                }
            }
            if (count > half) {
                break;
            } else {
                count = 0;
                list.clear();
            }
        }
        if (list.size() == 0) {
            list.add(-1);
        }
        return list;
    }

    public static void main(String[] args) {
        int[] a = {1,2,3,2,2,6,2,8,2,2};
        int [] b = {2,1,2,1,1,3,1,1,2,2,2,1};
        List<Integer> result = find(b);
        for (int i : result) {
            System.out.print(i + " ");
        }
    }
}

 

 

2
0
分享到:
评论
3 楼 JohnnyJian 2008-12-03  
用hashmap就好啦
2 楼 ganglong99 2008-12-03  
有什么好的方法吗?
降低一下复杂度。
1 楼 JohnnyJian 2008-12-03  
O(n^2)的复杂度太高了……

相关推荐

    原创一道Java笔试面试题考考大家

    根据提供的文件信息,我们可以分析出这是一道关于Java继承与方法重写的相关笔试面试题。题目涉及到了Java类的继承、方法重写、实例化对象时的调用顺序以及对象多态性等知识点。接下来,我们将对这些知识点进行详细的...

    一道java面试题 行列转换

    ### Java面试题:行列转换详解 #### 一、问题背景 在进行数据分析或者报表处理时,经常需要将数据从一种格式转换成另一种格式以便更好地展示或分析。其中一种常见的转换需求是从行转列(即行列转换)。本篇文章将...

    每天60秒,搞定一道JAVA面试题.zip

    【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..

    Java 面试题 Java 面试题

    根据给定的文件内容,我们可以总结出一系列与Java面试相关的知识点。下面将详细解析每一道题目涉及的关键概念。 ### 第一部分:基础知识 #### 1. final, finally, finalize的区别 - **final**: 用于声明变量、方法...

    阿里软件JAVA笔试题

    "阿里软件JAVA笔试题" 阿里软件JAVA笔试题是阿里巴巴公司为招聘软件开发工程师所设计的一份笔试题目,涵盖了JAVA语言、数据结构、算法、设计模式、数据库等多方面的知识点。 本题目共有15道题目,涵盖了以下几个...

    android和java面试大全集

    史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc... Java面试题及答案(基础题122道) - 在梦想与现实之间徘徊 - JavaEye技术网站.mht 等等,还有好多。

    Java高级面试题汇总及答案(2022年Java面试题及答案大全)

    这是一道经典的Java面试题。解决这个问题需要了解Java的内存管理机制,包括FULL GC的触发条件、Perm Gen的设置、System.gc()方法的调用等。 Java集合框架 3. Java集合框架是Java语言中的一种重要概念,它提供了...

    百家大公司java笔试题

    "100家大公司Java笔试题汇总.doc"这份文档提供了丰富的实践材料,建议考生们深入研究每一道题,不仅要找出正确答案,还要理解背后的原理,这样才能在真正的笔试中游刃有余,成功叩开心仪企业的门扉。同时,通过反复...

    企业公司软件测试面试笔试题集合 软件测试面试题

    企业公司软件测试面试笔试题集合 软件测试面试题 (测试基础).doc 01_企业面试试卷(综合).doc 01_企业面试试卷(综合)_参考答案.doc 04_企业面试试卷(测试基础).doc 04_企业面试试卷(测试基础)_参考答案.doc...

    java的一些面试题

    Java面试题涵盖了许多核心知识点,包括基础技术、项目经验、逻辑推理和SQL查询。下面将对这些方面进行详细的解析。 1. **基础技术题** - **UML图**:UML(统一建模语言)有多种图表,包括类图、对象图、用例图、...

    史上最难的一道Java面试题

    Java面试中的这道题目主要考察的是并发...总结来说,这道Java面试题主要测试了对`synchronized`关键字的理解,包括其作用、用法以及在并发环境中的内存可见性。理解这些概念对于编写正确且安全的多线程代码至关重要。

    java面试题-leetcode题解之第31题下一个排列.zip

    "java面试题_leetcode题解之第31题下一个排列" 的描述进一步确认了这是关于Java面试中的一道算法题目的解答,主要关注如何找到一个排列的下一个排列。在面试中,这样的问题通常用来评估候选人在处理数组操作和算法...

    Java程序员面试必备知识点,包括面试笔试题,简历模板,简历制作等

    java程序员求职之前看这一套就够了。包括Java程序员阿里面经等,java求职必备知识点,简历模板,JAVA核心知识点整理,蓝桥杯java历年真题及答案整理(共129道题目及答案),Java面试突击-V3.0

    java笔试题大集合及答案(另附各大公司笔试题)

    Java笔试题大集合是针对Java开发者进行技术面试和求职准备的重要资源,涵盖了广泛的知识点,旨在测试应聘者的编程基础、算法理解、数据结构、多线程、网络、数据库以及Java特性的掌握程度。这个大礼包通常包含不同...

    java截取字符串程序,一道面试题。答案

    java截取字符串,一道面试题。好像没有找到正确答案,今天找时间做了一个,仅供参考。本人运行过了。

Global site tag (gtag.js) - Google Analytics