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

Day 3:Leetcode 比特位计数+只出现一次的数字 II

比特位计数

本质是一个递推,时间复杂度O(n),空间复杂度O(n)。

class Solution {
public:
    vector<int> countBits(int n) {
        vector<int> ans(n + 1);
        ans[0] = 0;
        //ans[1] = 1;
        for(int i = 1; i <= n; i++){
            if(i & 1){
                ans[i] = ans[i/2] + 1;
            }
            else ans[i] = ans[i/2];
        }
        return ans;
    }
};

水水水!!!

只出现一次的数字 II

排序,如果该数字出现三次,则第一次出现和第三次出现是同一个数字。因为排序时间复杂度为O(nlogn);空间复杂度O(1)。

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        for(int i = 0; i + 2 < nums.size(); i += 3)
        {
            if(nums[i] != nums[i+2])return nums[i];
        }
        return nums[nums.size() -1];
    }
};

水水水!!!

相关文章:

  • DDR(双倍数据率内存)在路由中扮演的角色
  • yolo格式批量修改类别
  • 【Linux篇】操作系统揭秘:进程创建、等待与终止的无缝衔接
  • 计算机控制系统:arduino呼吸灯
  • 【嵌入式学习4】特殊参数、文件IO
  • 企业管理系统的功能架构设计与实现
  • 在 C# 中,while、for 和其他循环结构
  • 纯国产系统,首款鸿蒙电脑下月发布
  • 打破界限:Android XML与Jetpack Compose深度互操作指南
  • windows下git bash安装SDKMan报错Looking for unzip...Not found
  • android 之简述屏幕分辨率、屏幕密度、屏幕最小宽度
  • HarmonyOS学习 实验七:在页面上面添加警告弹窗、自定义弹窗、选择类弹窗、文本选择弹窗、日期选择等等
  • 三个STM32时钟配置函数的区别
  • 08_DCL
  • 安装操作系统后建议做的优化工作
  • AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!
  • 【PCB工艺】软件是如何控制硬件的发展过程
  • 2025年华为杯广东工业大学程序设计竞赛(A最短路,生成树,G数学,最大公因数,I贪心)
  • 记录一次StarRocks集群迁移的经历
  • CentOS 7 全流程部署Magic-PDF数据清洗工具(附GPU加速方案)