一道LeetCode简单题,却打消了我对Python的自以为是!

招商银行信用卡中心测开笔试复盘:赛码网考点与备考策略 在金融科技招聘中,银行IT笔试往往采用第三方在线考试平台,赛码网就是常见的一种。与互联网大厂不同,银行系测开岗位的笔试更看重综合素养与稳定性,题型通常包含行测、计算机基础、测试理论、SQL及编程题。行测部分考察逻辑思维与数字敏感度,计算机基础覆盖数据结构、网络、操作系统等,而测试开发方向还会涉及用例设计和自动化工具认知。掌握标准输入输出、Linux命令和SQL优化等工程技能,能有效提升笔试通过率。本文以招商银行信用卡中心2019秋招测试开发岗位为例,复盘赛码网考试全流程,剖析考点分布、踩分策略与备考要点,帮 阅读详情
5847426-4f312ce6fb66f9f7.png

Leetcode最新上线了手机版app,之前手机只能通过浏览器登录网站学习,如今有app,闲了就可以瞅两道题。今天等车的时候随手翻了一道题169. 多数元素 http://leetcode-cn.com/problems/majority-element/。看了下是众数问题,脑子简单过了下大概思路,就准备接着看其他题了。但想想还是看下别人是怎么做的吧,结果....

关于题目

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入: [3,2,3]
输出: 3
示例 2:
输入: [2,2,1,1,1,2,2]
输出: 2

暴力解法

先来看看最简单无脑的暴力解法,详细大多数人都能想到该解题方式:

class Solution:
    def majorityElement(self, nums):
        majority_count = len(nums)//2
        for num in nums:
            count = sum(1 for elem in nums if elem == num)
            if count > majority_count:
                return num

先计算列表1/2的长度,然后进行for循环嵌套最终获取结果。这种时间复杂度:O(n*n)的解法就不多赘述了。主要看看下面两种解法。

哈希表

这种方法,在LeetCode上很常见,就是使用Counter的方式,生成针对元素与出现次数的字典,然后进行计算。

class Solution:
    def majorityElement(self, nums):
        counts = collections.Counter(nums)
        return max(counts.keys(), key=counts.get)

本来觉得没什么特别,但当看到return操作时,觉得自己几年的Python都白学了。居然不知道max()函数,具有key的方法...一直是用它来简单的比较最大值。殊不知针对字典操作时,max可以通过定义key值来进行动态比较。(类似的方法如sorted倒是经常使用)...不知道max有key这个参数的,举个手,让我知道我不是一个人,哈哈...

奇思妙想

最让我佩服的就是下面这种解题思路,堪称经典。
文中定义有一个关键点,多数元素是指数据中出现大于n/2的元素。那么如果所有数字被单调递增或者单调递减的顺序排了序,当n是奇数时,众数的下标为n/2,当n是偶数时,下标为n/2 +1。于是出现了下面这种犀利的解法。

class Solution:
    def majorityElement(self, nums):
        nums.sort()
        return nums[len(nums)//2]

然而,官方的答案还远不止这些,一共提供了六种解答方式。所以,你觉得自己Python学到位了吗?

The End

期待你关注我的公众号清风Python,如果你觉得不错,希望能动动手指转发给你身边的朋友们。

告别手动归档:基于Allegro Skill的XTools一键生成Gerber与生产文件实践 本文详细介绍了基于Allegro Skill的XTools工具如何实现一键生成Gerber与生产文件,大幅提升PCB设计效率。通过自动化流程,解决了传统手动归档中的重复劳动、人为失误和标准不统一等问题,特别适合需要频繁输出生产文件的工程师。文章包含安装配置、实战操作、问题排查及进阶技巧,帮助用户快速掌握这一高效工具。 阅读详情

相关推荐

STM32F407实现LwIP的MQTT客户端并连接到服务器

这个是用LwIP协议栈中自带的MQTT客户端API写成的,代码注释很详细,附带有服务端的展示。LwIP版本是2.1.2.

wait_for_STM32的博客 6394

LeetCode打卡8——求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例1: 输入: [3,2,3] 输出: 3 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element 著作权归领扣网络所有。商业转载请联系官方授权,...

qq_39894692的博客 301

【OpenAirInterface知识-3】OAI端到端部署之5G基站部署

在上一篇文章中已经完成了5G核心网的部署,本篇文章将介绍OAI 5G基站的部署过程。

起名字难上难的博客 3421

python-Counter()函数、lambda函数

Counter()

weixin_44722536的博客 866

EDF Browser使用说明和技巧

edf browser使用说明和一些小技巧

Erhu_666的博客 8324

共封装光学(CPO):下一代互联革命

Nvidia:产品:Quantum-X Q3450(115.2T,144×800G,2025H2上市)、Spectrum 6800(409.6T,512×800G,2026H2上市);技术路线:TSMC COUPE封装、MRM调制器、光栅耦合、外部激光源(Lumentum/Ayar Labs供应);战略定位:以横向扩展CPO验证供应链,最终聚焦纵向扩展场景(Feynman架构)。

存储随笔 4965

我的算法时间记录一

拖延症大王小杨在找工作的压力下终于开启了神奇的算法之旅,采用语言Python3,每日打卡。 打卡顺序:写题——看优解——写题解/保存笔记——优快云专题总结 一、简单题: 2020.7.20小杨困倦 1.数组 高度检查器: 我的解法: 排序+比对,用到列表自带的sort()函数和for循环。sort()会改变原列表,事先copy一份原数据便于比对。 先进思想: 看了优秀题解之后,其实是比对没有优化余地,排序倒是可以不用内置函数,而是用桶排序。桶排序有一个优点就是...

resplendentRoy的博客 478

Anomalies,Factors,andMultiFactorModels

转 Anomalies, Factors, and Multi-Factor Models 作者:石川,量信投资创始合伙人,清华大学学士、硕士,麻省理工学院博士;精通各种概率模型和统计方法,擅长不确定性随机系统的建模及优化。知乎专栏:https://zhuanlan.zhihu.com/mitcshi。未经授权,严禁转载。 摘要:本文解释了异象、因子以及多因子模型的区别和联系;梳理了从异象到因子再...

绿杨 794

list中出现最多的数

返回list中出现最多的数 使用collections中的Counter counts = collections.Counter(nums) return max(counts.keys(), key=counts.get)

life_is_too_long的博客 511

【图像超分】论文复现:Pytorch实现ESPCN

论文精读:由于ESPCN没有公布源码,我们选择github上一个高star的项目来复现。准备数据集,以及数据预处理搭建网络模型设置参数并训练测试训练好的模型用训练好的模型测试自己的数据本文我们使用pycharm链接服务器训练。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1万+

SAP CPI 之使用国密算法实现SM系列算法加解密

System.out.println("SM2-私钥:" + privateKey);System.out.println("SM2-公钥:" + publicKey);System.out.println("SM2-密文:" + encrypts);System.out.println("SM2-明文:" + data2);新建groovy,通过import之后,调用jar包中的方法。在CP中导入jar包,选择Upload,选中导入的jar包。的密钥和向量值,不安全!的公钥和私钥,不安全!

u012830826的博客 1335

求解多数元素

它接受一个参数 nums,这是一个包含整数的列表。方法的返回值类型是整数(通过 -> int 进行注解,表示返回的结果是一个整数)。例如,如果 nums = [3, 2, 3],那么 counts 将是一个字典 Counter({3: 2, 2: 1}),表示数字 3 出现了两次,数字 2 出现了一次。给定一个大小为 n 的数组 nums ,返回其中的多数元素。max 函数将在 counts.keys() 中找到具有最大计数值的键(即出现次数最多的元素),并返回该键。

weixin_48597428的博客 493

OpenCV开发笔记(〇):使用mingw530_32编译openCV3.4.1源码,搭建Qt5.9.3的openCV开发环境

欢迎技术交流和帮助,提供IT相关服务,索要源码请联系博主QQ: 21497936,若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/79641510 目录 OpenCV开发笔记(一):使用mingw530_32编译...

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 5万+

python leetcode_一道LeetCode简单题,却打消了我对Python的自以为是!

Leetcode最新上线了手机版app,之前手机只能通过浏览器登录网站学习,如今有app,闲了就可以瞅两道题。今天等车的时候随手翻了一道题169. 多数元素 http://leetcode-cn.com/problems/majority-element/。看了下是众数问题,脑子简单过了下大概思路,就准备接着看其他题了。但想想还是看下别人是怎么做的吧,结果….关于题目给定一个大小为 n ...

weixin_39573287的博客 113

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

怎么学好python leetcode的题目太难了_一道LeetCode简单题,却打消了我对Python的自以为是...

优质文章,第一时间送达!Leetcode最新上线了手机版app,之前手机只能通过浏览器登录网站学习,如今有app,闲了就可以瞅两道题。今天等车的时候随手翻了一道题169. 多数元素 http://leetcode-cn.com/problems/majority-element/。看了下是众数问题,脑子简单过了下大概思路,就准备接着看其他题了。但想想还是看下别人是怎么做的吧,结果….关于题目给定一...

weixin_39977488的博客 143

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

leetcode小白刷题中......

leetcode第一题,移动元素,双向指针和快慢指针的思路,我还是算法小白,如有不对的地方,敬请指教。

weixin_43656962的博客 1229

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Leetcode 刷题第九天 | 225,232

你 只能 使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你所使用的语言也许不支持队列。你可以使用 list (列表)或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。使用python 双端队列deque模拟栈的行为,重要的是用一个双端队列模拟栈的行为。

m0_46690443的博客 115

关于 awesome-algorithm 仓库中 Python Leetcode 代码删除一事

经过我们几天的调查,结论如下: 这些代码派生于仓库 KrisYu/LeetCode-CLRS-Python,并且到目前为止,KrisYu 仍然是主要贡献者(但奇怪的是,他的名字没出现在任何一个代码中)。 我们获取了 KrisYu 的授权,但没有明确提出用于商用。 Lisanaaa 是主要维护者之一,他复制粘贴了大量代码,所以贡献视图里他是最多的。 我们并没有任何协议,提到为项目做宣传就可以拥有该...

龙哥盟 3万+

蓝桥杯报名已经开始,还不知道怎么准备?教你一文通关蓝桥!

通过科学的方法备赛蓝桥,取得想要的成绩!

欢迎关注,一起进步! 9302

每日一道算法题--leetcode 238--除自身以外数组的乘积--python

【题目描述】 【代码思路】 这道题主要是题干有要求,一是不允许使用除法,这就打消了我先求出数组累乘之积,再除以各个nums[i]的念头。二是要求时间复杂度是线性的,因此不可以双层循环嵌套。 因此考虑左数组和右数组,左数组保存的是nums[i]之前的所有元素之积,右数组保存的是nums[i]之后的所有元素之积,这样一来,求output[i]就可以直接用相应位置的左右数组相乘即可了。这个方法的时间复...

weixin_33969116的博客 151

【基础差和我一起手撕代码,通过大厂大公司机考笔试】LeetCode经典面试75题——第2题 字符串的最大公因子 优化方法:枚举优化{让我嚼碎代码喂你 嘿嘿嘿}

本文介绍了求解两个字符串最大公因子的高效解法。关键思路是利用数学最大公约数(gcd)的性质:若存在公因子字符串,其长度必为两字符串长度的gcd。算法步骤:1)计算两字符串长度的gcd作为候选长度;2)取str1前gcd个字符作为候选;3)验证该候选能否通过重复生成原字符串。若验证通过则返回候选字符串,否则返回空串。相比暴力解法,该方法将时间复杂度优化至O(1),只需验证一个候选长度即可。文中通过"分蛋糕"等通俗示例解释了gcd的数学原理,并提供了详细代码实现和案例分析。

m0_46391680的博客 693

[LeetCode] Minimum Window Subsequence 最小窗口序列

  Given strings S and T, find the minimum (contiguous) substring W of S, so that T is a subsequence of W. If there is no such window in S that covers all characters in T, return the empty string ""....

weixin_33694172的博客 265

2019年:七月总结,八月计划

七月 综合评价: 回顾七月这一个月的感受是很懒散,学习热情不足,效率低下。没有纪律性。而且前期有了熬夜这个坏毛病,之后一段时间才改了过来,也主要是接了家教的原因,之后就是永强来,自己胃肠感冒,之后陈强过来,环球梦摄影部又聚了起来,看了看大家其实还是没有什么变化,但也确实感觉大家都成长了。 完成的事项 1.数据结构学习完了树,但是之后还需要多巩固,因为你要问我现在什么是平衡二叉树,我还得想一会。 2...

qq_34159161的博客 278

(每日算法)Leetcode --- Maximal Rectangle(最大子矩阵)

求在0-1矩阵中找出面积最大的全1矩阵 Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area. 首先,想使用遍历两次的暴力方法解决是不靠谱的,先打消这个念头。 这道题的解法灵感来自于 Larg

yapian8的专栏 1390
上一篇: Python爬虫+Flask,带你创建车标学习网站
下一篇: 面试官问我Python日历模块,我直接用Flask开发Web版日历应用给他
清风Python
博客等级 码龄7年 406粉丝 267原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值