2018年LeetCode高频算法面试题刷题笔记——求众数(开始之前)

2023-10-27

1.解答之前的碎碎念:

又是一道没有思路的题。。。but我现在觉得,学习新知识过程都是从模仿开始的,比如先看别人的代码是怎么优雅的解决一个问题的,然后探究为什么要这么写,然后慢慢学着也这么做,最后知识就变成自己的啦~哈哈哈,给自己灌了一大壶鸡汤呢。

2.问题描述:

给定一个大小为 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

输入: [3,2,3]
输出: 3

示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

3.解答思路:

摩尔投票算法:

先假设第一个元素为众数,计数器置为1,遍历数组,当遇到相同的元素时,计数器加1,否则减1,任何计算器为0的时候,就假设下一个元素为众数,计数器再置为1。循环结束时,返回我们假设的众数,即要求的众数。

4.答案:

class Solution {
public:
    int majorityElement(vector<int>& nums) {
        int value = nums[0];
        int count = 1;
        for(int i = 1;i < nums.size();i++)
        {
            if(nums[i] != value)
            {
                count--;
            }
            else
            {
                count++;
            }
            
            if(count == 0)
            {
                value = nums[i];
                count = 1;
            }
        }
        return value;
    }
};

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2018年LeetCode高频算法面试题刷题笔记——求众数(开始之前) 的相关文章

  • Spring Security Oauth2 之 理解OAuth 2.0授权流程

    总览 本系列针对Security Oauth2架构的剖析 包括 oauth2 0认证架构详解 架构源码解读 核心结构配置 本篇是对oauth2认证流程的概述 喜欢的多多pick 内容引用书籍 The OAuth 2 0 Authorizat

随机推荐

  • java——猴子吃桃问题(多种方法)

    package com zth 有一棵桃树 有一只猴子 第一天猴子吃了桃子的一半 扔掉一个 第二天又吃了树上一半 扔掉一个 第三天 第七天 还没吃就发现只剩下一个 问树上第一天有多少桃子 author 时光 漫步 public class
  • 你永远不会有足够的奶酪

    令人赏心悦目的产品和让人勉强容忍的产品之间的差别 就在于它们的细节有没有做好 在Human Factors International公司做的一篇演讲文稿里 他们提到了一个叫 哥伦比亚障碍装置 的东西 译者注 Human Factors I
  • 服务器系统session时间设置时间,关于 Session 时间问题

    Dim AdminName AdminPass AdminName Trim Replace Request AdminName AdminPass MD5 Trim Replace Request AdminPass If Session
  • ES6中Iterator的使用

    Iterator概念 Iterator是一种接口 为各种不同的数据结构提供统一的访问机制 任何数据结构只要部署Iterator接口 就可以完成遍历操作 即一次处理该数据结构的所以成员 手写Iterator接口 手写iterator接口 fu
  • 数据库管理系统的安装与心得

    对于数据库这个概念我高中就有过接触 当时我们学的是什么是数据库 数据库管理系统 数据库系统 在数据库系统这门课刚开始上是 我本以为它会比其他功课容易接受 但是上了几节课之后 我发现这门课还是很难 因此 我就想到了把应用和课堂知识结合起来 可
  • Java 学习(一)Java语言基础

    Java 语言基础 一 前言 一 注释和标识符 1 注释 2 字符集 3 标识符 4 关键字 略 二 数据类型 1 基本类型 2 引用类型 三 常量和变量 1 常量 2 变量 四 操作符 1 赋值运算符 2 算术运算符 3 关系运算符 4
  • Uniapp 获取屏幕、元素的高度宽度

    在遇到困难时先找官方文档方案 其实一些常用的方法官方都有对应的解决方案的 uni getSystemInfo OBJECT 获取系统信息 screenWidth 屏幕宽度 screenHeight 屏幕高度 windowWidth 可使用窗
  • Oracle提示ora-01031:insufficient privileges解决方案

    自己也百度了一下 看到好多都是查找修改本地文件的 本人表示没有去这么做 本人解决方法 右键 我的电脑 管理 计算机管理 系统工具 本地用户和组 组 右边找到 ora dba 右键之 属性 添加 高级 立即查 找 找到你电脑的名称那个 确定
  • KMS服务器

    1 一键安装包 本脚本安装完成后 会将 KMS 服务加入开机自启动 wget no check certificate https github com teddysun across raw master kms sh chmod x k
  • js赋值运算(加、减、乘、除、余)

    赋值运算 赋值符 左边是一个变量 右边是一个值 赋值就是将右边的值给了左边的变量 加法 var a 10 a 1 相当于a a 1 console log a a 11 10加3的值 减法 var a 10 a 1 相当于a a 1 con
  • pytorch_工作流基础

    what were covering 1 data prepare and load 2 build model 3 fitting the model to data training 4 making predictions and e
  • Install packages failed: Installing packages: error occurred. ------简单的问题常常会被忽略...

    用 pip install 安装了wxpy这个库 但是使用的时候却报错 ImportError No module named wxpy 我先用 pip list 查看了一下 发现这个库是已经存在的 但是运行就老是报错 后来查了资料才知道
  • python 多线程,多进程问题

    近期在做一个计算很费时的项目 就想着通过多线程的方式进行加速 发现python的多线程无法实现加速 python中的多进程VS多线程 首先需要明白多线程和多进程的差异 简单来说一个进程下可以启多个线程 那么在python中 Python代码
  • 2岁宝宝吃饭问题网络调研

    家有男宝到了2岁多一点 不肯吃饭 肿么办 1 案例集锦 甚至开始厌食 见到食物会推开 最严重的一次 我喂他吃饭 他直接用手生气的打掉我的碗 把菜叶子 用小手一片片的捏掉 丢桌子上 地上 我气的呀 越养越瘦 越来越厌食 后来去医院 也没查到什
  • 测试人员的KPI考核指标

    关于测试人员KPI的考核指标 简书 线上bug漏测率 测试延期率 新技术手段输出 沟通能力 学习能力 文档沉淀能力 帮助组内同事成长 问题跟进能力 个人成长 老徐 线上bug漏测率 任务完成率 个人成长 https t zsxq com 0
  • CSS样式的引用方式

    想只用CSS修饰网页 就需要在HTML文档中引入CSS CSS提供了4种引用方式 分别是行内式 内嵌式 外链式和导入式 1 行内式 行内式也被称为内联式 可以通过style属性设置标签的样式 行内式基本语法格式如下 lt 标签名 style
  • Bluetooth 蓝牙介绍(七):低功耗蓝牙HCI规范

    HOST CONTROLLER INTERFACE HCI 功能规范 如果Controller支持 table 表中列出的任何传统广播命令或事件 并且还支持 LE 功能 扩展广播 则它应支持表中同一行中相应的扩展广播命令或事件 如果自上次上
  • css 上下左右居中(9种)

    Technique Browser Support Responsive Overflow resize both Variable Height Major Caveats Absolute Centering Modern IE8 Ye
  • golang测试技术

    golang测试技术 一 基础测试技术 1 测试Go代码 Go语言内置测试框架 内置的测试框架通过testing包以及go test命令来提供测试功能 下面是一个完整的测试strings Index函数的完整测试文件 strings tes
  • 2018年LeetCode高频算法面试题刷题笔记——求众数(开始之前)

    1 解答之前的碎碎念 又是一道没有思路的题 but我现在觉得 学习新知识过程都是从模仿开始的 比如先看别人的代码是怎么优雅的解决一个问题的 然后探究为什么要这么写 然后慢慢学着也这么做 最后知识就变成自己的啦 哈哈哈 给自己灌了一大壶鸡汤呢