`
java2000.net
  • 浏览: 632399 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

得到数组中最有效的元素和下标

阅读更多
先看代码
  1. import java.util.Arrays;

  2. /**
  3.  * 得到数组中最有效的元素和下标.<br>
  4.  * 最有效的只出现频率超过长度一半的数据。
  5.  * 
  6.  * @author 赵学庆 www.java2000.net
  7.  */
  8. public class MyTest {
  9.   public static void main(String[] args) {
  10.     int[] values = new int[] { 535, -5505 };
  11.     int maxValue = getMax(values);
  12.     if (maxValue > Integer.MIN_VALUE) {
  13.       System.out.println("Number=" + maxValue);
  14.       for (int i = 0; i < values.length; i++) {
  15.         if (values[i] == maxValue) {
  16.           System.out.print(i + " ");
  17.         }
  18.       }
  19.     } else {
  20.       System.out.println("没有找到");
  21.     }
  22.   }

  23.   public static int getMax(int[] values) {
  24.     int[] nums = Arrays.copyOf(values, values.length);
  25.     Arrays.sort(nums);
  26.     int number = Integer.MIN_VALUE;
  27.     int count = 0;
  28.     int numbertemp = Integer.MIN_VALUE;
  29.     int counttemp = 0;
  30.     for (int num : nums) {
  31.       if (num == numbertemp) {
  32.         // 增加当前
  33.         counttemp++;
  34.       } else {
  35.         // 判断是否比前一个大
  36.         if (counttemp > count) {
  37.           number = numbertemp;
  38.           count = counttemp;
  39.         }
  40.         // 设置当前
  41.         numbertemp = num;
  42.         counttemp = 1;
  43.       }
  44.     }
  45.     // 判断是否比前一个大
  46.     if (counttemp > count) {
  47.       number = numbertemp;
  48.       count = counttemp;
  49.     }
  50.     if (1.0 * count / nums.length > 0.5) {
  51.       return number;
  52.     }
  53.     return Integer.MIN_VALUE;
  54.   }
  55. }

运行结果
Number=5
0 2 4 6










<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
分享到:
评论

相关推荐

    leetcode数组下标大于间距-my-algorithm:我的算法

    leetcode数组下标大于间距 my-algorithm 高频题目,必刷 别人写的: 合集 合并排序的数组 找出数组中重复的数字 删除排序数组中的重复项,在原数组上操作 有序数组两数之和 移除数组中所有值为val的元素 调整数组...

    数组队列学习代码:队列和环形队列

    2)若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数中组元素中,否则无法存入数据。rear==maxSize-1[队列满] 环形队列 1)front变量的含义做一个调整:front就指向队列的第一个元素,也就是说...

    leetcode数组下标大于间距-leetcode:leetcode问题算法

    在排序数组中查找元素的第一个和最后一个位置 93.39% 37.16% 35 搜索插入位置 59.32% - 38 报数 73.42% - 49 字母异位词分组 83.65% 48.95% 53 最大子序和 88.95% - 54 螺旋矩阵 98.34% 70.96% 58 最后一个单词的...

    leetcode数组下标大于间距-Leetcode:Leetcode做题记录

    leetcode数组下标大于间距 Leetcode Leetcode做题记录 目前先从简单的开始做,慢慢提升 :) 已完成: 面试题 05.06. 整数转换 1 两数之和 3 无重复字符的最长子串 5 最长回文子串 7 整数反转 8 字符串转换整数 (atoi)...

    C语言程序设计标准教程

    因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构”。 它相当于其它高级语言中的记录。  “结构”是一种构造类型,它是由若干“成员...

    leetcode数组下标大于间距-leetcode:leetcode刷热题

    leetcode数组下标大于间距 LeetCode Solutuin with Annotation 目录 LeetCodeEasy1 350 两个数组的交集2 237 删除链表中的节点 104.二叉树的最大深度 108.将有序数组转换为二叉搜索树 344.反转字符串 206.反转链表 ...

    《javaScrip开发技术大全》源代码

    • sample11.htm 嵌套函数中变量的有效范围 • sample12.htm 变量没有语句块的限制 • sample13.htm 常量的使用 第6章(\代码\第06章) • sample01.htm 先使用后递增 • sample02...

    关键路径课程设计.zip

    主要设计CreateUDG函数创建图的邻接链表,其中通过LocateVex 可以定位到邻接表代表元素的数组下标并进行连接TopologicalSort函数调用链栈对图的所有结点进行拓扑排序的功能,并为计算最晚开始时间做准备, ...

    VBScript 语言参考中文手册CHM

    For Each...Next 语句 对于数组或集合中的每一个元素,重复一组语句。 FormatCurrency 函数 返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。 FormatDateTime 函数 返回格式化为日期或时间的...

    JavaScript笔记

    |--arr.indexOf(x) 返回x在数组中的下标---经常用于判断元素是否存在。如返回-1,x则不在数组中 18.Number对象: |--x.toFixed(num):可把Number四舍五入为指定小数位数(num:0-20)的数字 |--x.toString():用于把...

    algorithmAndDataStructure:算法和数据结构学习记录

    青蛙跳台阶问题 q72 编辑距离 q17 电话号码的字母组合(复习 3) 在有序不重复的数组中查找指定元素,返回元素下标 查找第一个值等于给定值的元素 查找最后一个值等于给定值的元素 查找第一个大于等于给定值的元素 ...

    VBSCRIPT中文手册

    For Each...Next 语句 对于数组或集合中的每一个元素,重复一组语句。 FormatCurrency 函数 返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。 FormatDateTime 函数 返回格式化为日期或时间的...

    vb Script参考文档

    For Each...Next 语句 对于数组或集合中的每一个元素,重复一组语句。 FormatCurrency 函数 返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。 FormatDateTime 函数 返回格式化为日期或时间的...

    VBScript 语言参考

    For Each...Next 语句 对于数组或集合中的每一个元素,重复一组语句。 FormatCurrency 函数 返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。 FormatDateTime 函数 返回格式化为日期或时间的...

    VBSCRIP5 -ASP用法详解

    For Each...Next 语句 对于数组或集合中的每一个元素,重复一组语句。 FormatCurrency 函数 返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。 FormatDateTime 函数 返回格式化为日期或时间的...

    Desktop.rar

    4. int Gb_num,指示全局数组gbxx[50]中有多少有效元素(人员数据)。 六、控制关系 在主对话框的初始化函数BOOL CGblqDlg::OnInitDialog()中(此函数在对话框显示前自动运行),打开文本数据文件“person.data”...

    你必须知道的495个C语言问题.pdf

    作者在网络版CFAQ列表的基础上进行了大幅度的扩充和丰富,结合代码示例,权威而且详细深入地解答了实际学习和工作中最常遇到的495个C语言问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等...

    你必须知道的495个C语言问题

    6.22 如何在一个文件中判断声明为extern的数组的大小(例如,数组定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断数组中有多少个元素呢? 第7章 内存...

Global site tag (gtag.js) - Google Analytics