关关的刷题日记01—Leetcode 169. Majority Element
【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视觉等)、大数据、编程语言、系统架构。使用请访问专知进行主题搜索查看 - 桌面电脑访问www.zhuanzhi.ai, 手机端访问www.zhuanzhi.ai 或关注微信公众号后台回复"专知"进入专知,搜索主题查看。Leetcode刷题是应届生找工作必备,我们专知平台专门邀请关关大美女写她的刷题日记,由入门到现在已经刷题200多道了,从今天开始,定期把刷题经验分享给大家,希望大家喜欢。
引言
从去年圣诞节近乎于零基础开始刷题,到现在转眼间十个月过去了,刷了有200道题目了。现在一边复习以前的题目把思路和AC代码写出来,一边继续往前刷刷刷。尤其对于零基础小白来说,这条路不是那么轻松和一帆风顺,需要为止付出大量的时间和精力, 另外还有漫长努力过程中的那份坚持,当然苦尽甘来的滋味是最最让人难忘的。最重要的是你方向明确,你从未停止,你在那一天来临之前就做好了充足准备!也欢迎大家多多交流!
Leetcode的题目是按照tag来划分的。每个tag的题目会分为easy、medium、hard三个级别的难度,每道题目后面有接收率。从难度级别低且acceptence高的题目开始刷起。我第一遍只刷500题号以内easy和medium的题目,用C++刷。题目是刷不完的,重在总结和理解吧,hard的题目一般面试也考不到,等以后进阶了再刷hard的题目了。先从array tag开始!
开始
169. Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.
You may assume that the array is non-empty and the majority element always exist in the array.
题目的意思是有一个数组,数组中有一个数出现的次数大于数组长度的一半,让找出这个数。
最简单的方法就是对数组进行排序,排序之后的数组的中位数就是目标值。
但是注意冒泡、选择等排序方法都超时了,复杂度O(n^2 )太高了,所以用sort快排。
AC代码:
class Solution {
public:
int majorityElement(vector<int>& nums) {
sort(nums.begin(), nums.end());
return nums[nums.size()/2];
}
};
明天更新这道题的方法2和方法3.
感兴趣的同学加入专知——Leetcode刷题交流群(请先加微信小助手weixinhao: Rancho_Fang)或者是QQ群专知-人工智能交流群 426491390
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- 第一届机器人学习大会总结
- Hadoop: MapReduce2的几个基本示例
- 使用 nRoute 框架来实现基于 Silverlight 的桌面应用
- oracle:如何用sql生成日历
- 极品双拼“马仔”mazai.com易主终端
- Hadoop:pig 安装及入门示例
- 区块链时代即将到来 它将如何改变我们的工作和生活
- 架设ftp反向代理服务器
- CentOS 7 上面安装PowerShell
- 苹果刻意降低旧 iPhone 效能的做法,或在法国面临刑事检控
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法