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

hot100题简单题

力扣136题   只出现一次的数字

 采用异或的方法

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int x = 0;
        for(int num:nums){    //1.遍历 numx执行异或运算
            x ^= num;
        }
        return x;            //2.返回出现一次的数字x
    }
};
 
力扣 169题  多数元素
将数组nums中的所有元素按照单调递增或者单调递减的顺序排序,那么下标为n/2的元素(下标从0开始)一定是众数。
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        return nums[nums.size()/2];
    }
};
 
力扣 461题   汉明距离
n&n-1的值是去掉二进制n最右边1的值,每次运算都会消去一个1直到最终为0为止。
解题方法就是:两数异或(不同位为1),剩下二进制为1的就是不同二进制位,计1个数即汉明距离
class Solution {
public:
    int hammingDistance(int x, int y) {
        int ret = x^y;    //异或剩下1的个数就是二进制位不同的位置的数目
        int ans = 0;      //answer 记录1的个数
        while(ret){       //每一次运算消去一个1,直到为0终止循环
            ret &= (ret-1);   //ret = ret &(ret-1);
            ans++;
        }
        return ans;
    }
};
 
 
 
力扣448题  找到所有数组中消失的数字
直接遍历整个数组,找个一个元素就将其counts值加1,最后将counts值为0的元素,也就是没出现过的数字放在ret数组中返回即可。
class Solution {
public:
    vector<int> findDisappearedNumbers(vector<int>& nums) {
        vector<int> counts(nums.size()+1);
        for(int i=0;i<nums.size();i++){
            counts [nums[i]]++;
        }
        vector<int> res;
        for(int i=1;i<counts.size();i++){
            if(counts[i]==0){
                res.push_back(i);
            }
        }
        return res;
    }
};
 
 
 
 
 
 
 
 
 
 
http://www.hskmm.com/?act=detail&tid=16017

相关文章:

  • Scanner 和if
  • python自动化操作PDF
  • 注意事项
  • 完整教程:【数据结构】 ArrayList深入解析
  • 产品经理如何借力项目管理软件,驾驭复杂项目并准时上线?
  • 公钥密码与可证安全概述
  • Python标准库enum模块实现枚举类
  • Filter过滤器
  • 程序员的旅行神器:用AI提示词工程解决选择困难症
  • 修改人大金仓V8数据库时间
  • BUUCTF-babyheap_0ctf_2017题解(含详细过程与思路分析)
  • 油猴(Tampermonkey)插件从安装到使用
  • 【EF Core】框架底层的数据库连接管理
  • iNeuOS工业互联网操作系统,更新计量数据处理方式和在线报表,实现能源管理基础功能
  • React 展示Markdown内容 - 教程
  • 西电PCB设计指南第4章学习笔记
  • 图像处理去除噪点验证码的识别逻辑实践
  • Java文件上传和其他参数一起提交的案例
  • 三维模型非结构化网格生成
  • Windows 环境变量配置
  • Playwright MCP浏览器自动化指南 - 详解
  • 完整教程:【C++】STL简介+编码表+string引入
  • SpringBootMVC相关内容
  • 基于节流的流水线并行推理优化——gLLM
  • Corral the Cows
  • HarmonyOS 5 通知与语音能力开发实战:从消息推送到智能语音交互
  • HarmonyOS 5 Native与ArkTS混合开发实战:跨语言高性能组件开发
  • 实战:基于HarmonyOS 5构建分布式聊天通讯应用
  • Java-Eclipse使用-多维数组的使用
  • HarmonyOS 5 动画开发实战:从基础动效到高级交互动画