LeetCode[简单] 136. 只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。

思路

当 A 与 B 不同时,按位异或操作后所得新值某一位值将为1,反之为0;

0与任何值异或都为该值本身。

cs 复制代码
public class Solution {
    public int SingleNumber(int[] nums) {
        int result = 0;
        for(int i = 0; i < nums.Length; i++)
        {
            result ^= nums[i];
        }
        return result;
    }
}
复杂度

时间复杂度:O(n)

空间复杂度:O(1)

相关推荐
C雨后彩虹几秒前
中文分词模拟器
java·数据结构·算法·华为·面试
a努力。几秒前
蚂蚁Java面试被问:流批一体架构的实现和状态管理
java·后端·websocket·spring·面试·职场和发展·架构
BLi4ee2 分钟前
【Scholarly Notes】Adaptive Model Pruning for Federated Learning
算法·机器学习·剪枝
静听松涛1332 分钟前
信息系统规划到上线全流程指南
论文阅读·面试·职场和发展·流程图
Remember_9938 分钟前
【LeetCode精选算法】二分查找专题二
java·数据结构·算法·leetcode·哈希算法
We་ct28 分钟前
LeetCode 42. 接雨水:双指针解法深度剖析与全方法汇总
前端·算法·leetcode·typescript
液态不合群37 分钟前
如何提升 C# 应用中的性能
开发语言·算法·c#
诗远Yolanda38 分钟前
EI国际会议-通信技术、电子学与信号处理(CTESP 2026)
图像处理·人工智能·算法·计算机视觉·机器人·信息与通信·信号处理
程序员-King.43 分钟前
day165—递归—最长回文子序列(LeetCode-516)
算法·leetcode·深度优先·递归
BHXDML1 小时前
推导神经网络前向后向传播算法的优化迭代公式
神经网络·算法·机器学习