当前位置: 首页 > news >正文

手机网站大全123456市场监督管理局官网查询系统

手机网站大全123456,市场监督管理局官网查询系统,小红书推广群,推广网站概况这个题非常简单#xff0c;解法有很多种#xff0c;我用的是HashMap记录每个元素出现的次数#xff0c;只要次数大于数组长度的一半就返回。下面是我的代码#xff1a; class Solution {public int majorityElement(int[] nums) {int len nums.length/2;HashMapInteg… 这个题非常简单解法有很多种我用的是HashMap记录每个元素出现的次数只要次数大于数组长度的一半就返回。下面是我的代码 class Solution {public int majorityElement(int[] nums) {int len nums.length/2;HashMapInteger,Integer map new HashMapInteger, Integer();for(int i0;inums.length;i){int key nums[i];if(!map.containsKey(key)){map.put(key,1);if(map.get(key) len) return key;}else{map.put(key,map.get(key)1);if(map.get(key) len) return key;}}return -1;} } 题解还有一种更牛逼的解法把数组排序然后返回数组中间的那个数就行因为如果这个数出现的次数大于数组长度的一半的话排完序后数组中间那个数一定是它。 class Solution {public int majorityElement(int[] nums) {Arrays.sort(nums);return nums[nums.length/2];} } 还有用分治法的如果一个数是这个数组的总数那么把这个数组分成两个子数组后这个数至少是其中一个数组的众数然后选出两个众数中真正的众数即可。可以采用递归的方法不断把数组分成两个子数组直到子数组的长度为1合并左右两个数组然后再不断合并最后就可以找到整个数组的众数了 class Solution {private int countInRange(int[] nums, int num, int lo, int hi) {int count 0;for (int i lo; i hi; i) {if (nums[i] num) {count;}}return count;}private int majorityElementRec(int[] nums, int lo, int hi) {// base case; the only element in an array of size 1 is the majority// element.if (lo hi) {return nums[lo];}// recurse on left and right halves of this slice.int mid (hi - lo) / 2 lo;int left majorityElementRec(nums, lo, mid);int right majorityElementRec(nums, mid 1, hi);// if the two halves agree on the majority element, return it.if (left right) {return left;}// otherwise, count each element and return the winner.int leftCount countInRange(nums, left, lo, hi);int rightCount countInRange(nums, right, lo, hi);return leftCount rightCount ? left : right;}public int majorityElement(int[] nums) {return majorityElementRec(nums, 0, nums.length - 1);} } 还有一种Boyer-Moore 投票算法他是先选一个候选数先把他的次数定为0如果下一个数和他一样次数加一如果不一样次数减一如果次数为0侯选数换成下一个数最后的侯选数就是众数。 class Solution {public int majorityElement(int[] nums) {int count 0;Integer candidate null;for (int num : nums) {if (count 0) {candidate num;}count (num candidate) ? 1 : -1;}return candidate;} }
http://www.laogonggong.com/news/125962.html

相关文章:

  • 本地网站做不大做外汇网站代理赚钱吗
  • 如何保护网站名兰州做网络优化
  • 陶瓷网站开发背景怎样建网站 阿里云
  • 四川建设厅特种工报名网站鹤壁做网站
  • 学做网站 软件东莞长安网站制作
  • 网站建设推广方式phpcms 网站源码
  • 零基础自己做网站如何用wordpress做产品介绍
  • 广州网站网站建设手机网站自动适配
  • 青岛网站排名哪家公司好怎么登录别人的wordpress
  • 廊坊做企业网站公司绵阳网站建设高端品牌
  • 上海做网站的seo网络推广排名
  • 通辽做网站建设广州公司注册网址
  • 美塔基500元做网站可信吗程序员外包是什么意思
  • 网站制作例子wordpress显示同一分类的文章
  • 青岛高端网站设计门户网站的传播特点
  • 优质的专业网站建设wordpress手机版插件
  • 北京网站建设的服务公司信息产业部互联网网站管理工作细则
  • 宝安网站设计排名做微信商城网站建设
  • 自建站做seo试看30秒做受小视频网站
  • wordpress人个网站新手如何做企业网站
  • 昆山有做网站的公司吗黑帽seo技术有哪些
  • 网站修改关键词不收录wordpress如何让一个图片跟随悬浮
  • 个人网站优秀案例公司网站怎么弄
  • 关于字体设计的网站网站建设外文文献翻译
  • 软件 网站开发合作协议wordpress替换成自己的php项目
  • 主题网站设计欣赏网页策划方案怎么做
  • 高端网站的设计开发公司怎么看自己做没做网站地图
  • 现在建设网站赚钱吗营销型网站制作企业
  • 做传奇网站云服务器地域改选哪里seo外链在线提交工具
  • 用jsp做的网站需要什么工具小程序开发费用分析