当前位置: 首页 > news >正文

Leecode---技巧---只出现一次的数字 / 多数元素

在这里插入图片描述
题解
利用异或运算 a⊕a = 0 的性质,可用来消除所有出现了两次的元素,最后剩余的即为所得。
在这里插入图片描述

class Solution
{
public:int singleNumber(vector<int>& nums){// 初始化为0int ans = 0;for(int x: nums){// 异或操作ans ^= x;}return ans;}
};

在这里插入图片描述
sort排序法的两种解法:
解1:

class Solution
{
public:int majorityElement(vector<int>& nums){sort(nums.begin(), nums.end());//因为出现频率大于n/2,所以排序后的中间位置必然是众数return nums[nums.size() / 2];}
};

解2:

// 先将元素继续排序 然后进行计数,如果当前位与下一位相同直接进行计数加一然后比较一下是否超过 n/2;
class Solution1
{
public:int majorityElement(vector<int>& nums){if (nums.size() == 1) return nums[0];sort(nums.begin(), nums.end());int count = 0;for (int i = 0; i < nums.size() - 1; i++){if (nums[i] == nums[i + 1]){count ++ ;}if (count + 1 > nums.size() / 2)return nums[i];}return 0;}
};
http://www.lryc.cn/news/360922.html

相关文章:

  • 为图片设置经纬度信息
  • 密码和密钥的联系与区别
  • C++编程法则365天一天一条(323)main函数执行之前和之后的动作
  • 阿里云短信服务使用(Java)
  • C++17之std::void_t
  • 零基础入门篇①⑥ Python可变序列类型--字典
  • C语言面试题1-10
  • Qt Designer工具如何修改MainWindow窗口的标题
  • 车辆前向碰撞预警系统性能要求和测试规程
  • C#实现winform中渲染图的展示
  • JTS库的讲解及使用
  • 【C++杂货铺】unordered系列容器
  • 模板-初阶
  • 重载运算符C++---学习笔记
  • SpringMVC枚举类型字段处理
  • 集成算法:Bagging模型、AdaBoost模型和Stacking模型
  • DW怎么Python:探索Dreamweaver与Python的交织世界
  • 算法(十三)回溯算法---N皇后问题
  • 论文阅读:Correcting Motion Distortion for LIDAR HD-Map Localization
  • Git操作笔记
  • 使用Python进行数据分析的基本步骤
  • NGINX优化
  • 【LeetCode刷题】二分查找:山脉数组的峰顶索引、寻找峰值
  • 《Python学习》-- 实操篇一
  • C# 集合(二) —— List/Queue类
  • 【TB作品】MSP430 G2553 单片机口袋板,读取单片机P1.4电压显示,ADC
  • 知乎x-zse-96、x-zse-81
  • 【Linux】Linux工具——yum,vim
  • ES 生命周期管理
  • 【JavaScript脚本宇宙】揭秘HTTP请求库:深入理解它们的特性与应用