剑指offer 二叉搜索树的后序遍历
生活随笔
收集整理的這篇文章主要介紹了
剑指offer 二叉搜索树的后序遍历
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度為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;} }創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的剑指offer 二叉搜索树的后序遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 剑指offer 翻转链表
- 下一篇: 剑指offer 最小的k个数