剑指offer 二叉搜索树的后序遍历
来源:互联网 发布:大庆seo推广 编辑:程序博客网 时间:2024/06/05 02:59
题目描述
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
我的做法是先用一个map<k,v>分别记录元素和元素出现的个数,然后遍历map,找到出现次数大于数组长度的一半的元素。
import java.util.*;public class Solution { public int MoreThanHalfNum_Solution(int [] array) { int flag = 0; if(array.length == 0){ return flag; } Map<Integer,Integer> map = new HashMap<Integer,Integer>(); int length = array.length; for(int i=0;i< length;i++){ if(map.containsKey(array[i])){ map.replace(array[i],map.get(array[i]) + 1); } else{ map.put(array[i],1); } } for(Map.Entry entry:map.entrySet()){ int k = Integer.valueOf(entry.getKey().toString()); int v = Integer.valueOf(entry.getValue().toString()); if(v > Double.valueOf(array.length*0.5)){ flag = k; } } return flag; }}
阅读全文
0 0
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指Offer-->二叉搜索树的后序遍历序列
- 《剑指offer》二叉搜索树的后序遍历序列
- 【剑指Offer】二叉搜索树的后序遍历序列
- 剑指offer--二叉搜索树的后序遍历序列
- 剑指 offer:二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- 二叉搜索树的后序遍历序列||剑指offer
- 剑指offer-二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer 二叉搜索树的后序遍历序列
- 剑指offer:二叉搜索树的后序遍历序列
- [剑指offer]二叉搜索树的后序遍历序列
- 《剑指offer》-二叉搜索树的后序遍历序列
- 【剑指offer】二叉搜索树的后序遍历序列
- #define后面为什么不加;
- 你也能与AlphaGo谈笑风生:AlphaGo教学工具上线,2万多变化,37万多步棋
- 正则表达式分组、断言详解
- UEditor上传图片到fastDFS 自定义请求地址
- 深度学习笔记一:BP神经网络的介绍和Python代码实现(1)
- 剑指offer 二叉搜索树的后序遍历
- 简单介绍postgresql的关闭模式
- Rxjs系列教程目录
- 5.2向上类型转换【C++】
- 我的架构之路 — 配置中心(三)— 动态更新配置
- 看看咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔咔卡
- MySQL一张表最多能存多少条记录?
- 决策树 算法
- eclipse中文乱码问题解决方案