type
status
date
slug
summary
tags
icon
password

一、前言

本次刷题的题目是:《只出现一次的数字》

二、题目描述

notion image
notion image

三、解题思路

方法一:使用range进行细化切割比较

因为这道题直接说明了其余元素出现了两次而不是更多次。而且只是找到那一个单的值,不用返回原来的列表。所以我想的是将整个列表切割成只包含两个元素的小列表。所以可以用到range跳步进行比较。
range:range(start,end,step);start表示计数开始,默认从0开始;end表示结束,但是不包括stop;step表示步长默认为1

方法二:直接使用异或

不知道谁想出来的天才想法!
因为两个相同的数字异或为0,0和任何数字a异或都为a,异或又满足交换律。
用公式表达就是这样的:a^a=0 0^a=a a^b^a=a^a^b=b
所以对照这道题来说:就会将剩余的那个数给选择出来

四、解题脚本

方法一:

方法二:

五、出现的结果

notion image
Python练习-类型转换Python练习-双指针法
Loading...
JucanaYu
JucanaYu
干饭人,干饭魂🍚
最新发布
Python练习-判断一个空列表和最长的连续序列
2025-6-26
Python练习-对字典进行赋值
2025-6-25
vi/vim如何进行多行的添加、删除、替换
2025-6-16
使用ollama+ragflow构建医疗助手大模型demo
2025-6-11
Python练习-add
2025-5-16
Pytorch中的TensorBoard如何使用
2025-5-8