【leetcode❤python】169. Majority Element
#Method 1
import math
class Solution(object):
def majorityElement(self, nums):
numsDic={}
for num in nums:
numsDic[num]=numsDic[nums]+1 if num in numsDic else 0
if numsDic[num]>len(nums)/2:
return num
#Method 2
#这种方法的思想是把 majority element 看成是 1,而把其他的元素看成是 -1。
#算法首先取第一个元素 x 作为 majority element,并计 mark = 1;
#而后遍历所有的元素,如果元素和 x 相等, 则 mark ++;
#否则如果不等, 则 mark--, 如果 mark == 0, 则重置 mark = 1, 并且更新 x 为当前元素。
#由于majority element 的数量大于一半,所以最后剩下的必然是majority element.
class Solution(object):
def majorityElement(self, nums):
mark=1
x=nums[0]
for i in range(1,len(nums)):
if(mark==0):
mark=1;x=nums[i]
elif(nums[i]==x):
mark+=1
elif(nums[i]!=x):
mark-=1
return x
【leetcode❤python】169. Majority Element的更多相关文章
- [LeetCode&Python] Problem 169. Majority Element
Given an array of size n, find the majority element. The majority element is the element that appear ...
- 【leetcode❤python】27. Remove Element
#-*- coding: UTF-8 -*- class Solution(object): def removeElement(self, nums, val): "& ...
- LeetCode Javascript实现 169. Majority Element 217. Contains Duplicate(两个对象比较是否相等时,如果都指向同一个对象,a==b才是true)350. Intersection of Two Arrays II
169. Majority Element /** * @param {number[]} nums * @return {number} */ var majorityElement = funct ...
- 【LeetCode】169. Majority Element 解题报告(Java & Python & C+)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 思路 hashmap统计次数 摩尔投票法 Moore ...
- 【一天一道LeetCode】#169. Majority Element
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- 【LeetCode】169 - Majority Element
Given an array of size n, find the majority element. The majority element is the element that appear ...
- 【leetcode❤python】Sum Of Two Number
#-*- coding: UTF-8 -*- #既然不能使用加法和减法,那么就用位操作.下面以计算5+4的例子说明如何用位操作实现加法:#1. 用二进制表示两个加数,a=5=0101,b=4=0100 ...
- 【leetcode❤python】 1. Two Sum
#-*- coding: UTF-8 -*- #AC源码[意外惊喜,还以为会超时]class Solution(object): def twoSum(self, nums, target): ...
- 【leetcode❤python】 58. Length of Last Word
#-*- coding: UTF-8 -*-#利用strip函数去掉字符串去除空格(其实是去除两边[左边和右边]空格)#利用split分离字符串成列表class Solution(object): ...
随机推荐
- Maven打jar包
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactI ...
- AHB中split机制简介
完整的AHB协议:1)可以多个master,并且需要外加一个Arbiter,和write multiplexor.为了保证每一时刻只有一个master拥有访问权. 2)为了增强pipeline的能力, ...
- ThinkPHP讲解(七)——修改删除
修改数据 方式一:数组方式,直接将数据库里需要修改的内容进行修改 function Update() { //1.数组方式 $model=D("Info"); $attr=arra ...
- ID3DXMesh接口 创建自己的立方体网格
D3DXCreateMeshFVF 首先创建一个ID3DXMesh接口. ID3DXMesh接口的说明可以参数龙书. 这里主要是用代码来讲解: #define VERTEX_FVF (D3DFVF_X ...
- 161031、java.util.StringTokenizer使用及源码
import java.util.StringTokenizer; public class TestStringTokenizer { public static void main(String[ ...
- Java中的BufferedReader 的readLine方法
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java ...
- phpize 动态添加 PHP 扩展的错误及解决方案
使用phpize 动态添加 PHP 扩展是开发中经常需要做的事情,但是在 macOS 中,首次使用该功能必然会碰到一些错误,本文列出了这些错误的解决方法. 问题一: 执行 phpize 报错如下: $ ...
- linux下echo命令详解(转)
linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字,一般起到一个 ...
- discuz阅读权限的设置作用
为什么要有阅读权限?偶想很多新手有这个疑问吧,所以特开此帖说明下. 阅读权限的设置是帖子作者为了部分限制帖子的读者群.虽然网上发帖重在分享,但帖子(尤其精华帖子)是作者花时间和经历而写成的,不加阅读权 ...
- ecshop编辑器fckeditor换百度ueditor编辑器教程
1.下载uediter编辑器,解压上传目录uediter到根目录/includes/下 2.修改admin/includes/lib_main.php /** * 生成编辑器 ...