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

住房和城乡建设部网站办事大厅做点击率的网站

住房和城乡建设部网站办事大厅,做点击率的网站,沈阳哪里做网站,最新领导班子7人名单📝前言说明: 本专栏主要记录本人的基础算法学习以及刷题记录,使用语言为C。 每道题我会给出LeetCode上的题号(如果有题号),题目,以及最后通过的代码。没有题号的题目大多来自牛客网。对于题目的…

📝前言说明:
本专栏主要记录本人的基础算法学习以及刷题记录,使用语言为C++。
每道题我会给出LeetCode上的题号(如果有题号),题目,以及最后通过的代码。没有题号的题目大多来自牛客网。对于题目的讲解,主要是个人见解,如有不正确,欢迎指正,一起进步!

🎬个人简介:努力学习ing
📋本专栏:C++刷题专栏
📋其他专栏:C++学习笔记,C语言入门基础,python入门基础,python刷题专栏
🎀CSDN主页 愚润泽


题目

  • 118. 杨辉三角
  • 260. 只出现一次的数 |||
  • 137. 只出现一次的数 ||
  • 26. 删除重复项
  • 超过一半的数字

118. 杨辉三角

在这里插入图片描述

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> c(numRows); // 创建numRows行for(int i = 0; i < numRows; i++){c[i].resize(i + 1, 1); // 将每一行初始化for(int j = 1; j < i; j++){c[i][j] = c[i - 1][j] + c[i - 1][j - 1];}}return c;}
};

260. 只出现一次的数 |||

在这里插入图片描述
解题思路:
在这里插入图片描述
回忆一下异或:

  • 一个数异或0得到它本身
  • (不溢出的前提下)一个数异或它的相反数可以得到最低位的1(且唯一),因为负数的补码是:从右边数,找到第一个1以后,左边的数全部按位取反
class Solution {
public:vector<int> singleNumber(vector<int> &nums) {unsigned int x_all = 0; // 这个必须是无符号的// 如果是有符号的,如:-128 的相反数 128 表示不了,会溢出,导致出错for(auto x: nums){x_all ^= x;}int lowbit = x_all & (- x_all);vector<int> ans(2);for(auto x: nums){// 由 x & lowbit 来分组ans[(x & lowbit) != 0] ^= x;}return ans;}
};

137. 只出现一次的数 ||

在这里插入图片描述
在这里插入图片描述
注意:

  • int是32为比特位的,4个字节,每个字节8个比特位
  • num >> 1就是将num的二进制右移1为,不会改变num的值
  • 二进制数&1可以得到最低位的数
  • 将一个只有第i位为1的二进制数a与另一个二进制数b按位或,可以将b的第i改成1
class Solution {
public:int singleNumber(vector<int>& nums) {int ans = 0;for(int i = 0; i < 32; i++){int cnt = 0;for(auto num: nums){cnt += (num >> i) & 1; // 对所有数字的当前位进行求和 (从低位到高位)}ans |= ((cnt % 3) << i); // 将本位的结果复制到ans上,即按位或 | }return ans;}
};

26. 删除重复项

在这里插入图片描述
没什么好说的,注意原地修改。

class Solution {
public:int removeDuplicates(vector<int>& nums) {int k = 1;for(int i = 1; i < nums.size(); i++){if(nums[i] != nums[i-1]){nums[k] = nums[i];k++;}}return k;}
};

超过一半的数字

在这里插入图片描述
候选法:
加入数组中存在众数,那么众数一定大于数组的长度的一半。
思想就是:如果两个数不相等,就消去这两个数,最坏情况下,每次消去一个众数和一个非众数,那么如果存在众数,最后留下的数肯定是众数。

具体做法:

  1. 初始化:候选人cond = -1, 候选人的投票次数cnt = 0 遍历数组,如果cnt=0
  2. 表示没有候选人,则选取当前数为候选人,++cnt
  3. 否则,如果cnt > 0,表示有候选人,如果当前数=cond,则++cnt,否则--cnt
  4. 直到数组遍历完毕,最后检查cond是否为众数
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param numbers int整型vector * @return int整型*/int MoreThanHalfNum_Solution(vector<int>& numbers) {int cond = -1;int cnt = 0;for(int i = 0; i < numbers.size(); i ++){if(cnt == 0){cond = numbers[i];cnt++;}else{if(cond == numbers[i])cnt++;elsecnt--;}}return cond;}
};

因为这题保证数组非空且有解,不然还要再遍历一次,判断cond是否个数>size()/2


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

http://www.dtcms.com/a/609981.html

相关文章:

  • 泉企业网站建设wordpress轻量级主题
  • 【Qt】多线程学习笔记
  • 做旅游景点网站的目的和意义怎么上传网站地图
  • 判断电脑和手机访问网站怎么选择郑州网站建设
  • Java的编译器是用什么语言写的 | 深入探讨Java编译器的实现原理与技术细节
  • 小麦高分子量谷蛋白(HMW-GS)完整提取流程
  • PostIn从初级到进阶(5) - 如何导入PostMan数据,实现数据迁移
  • LeetCode 面试经典 150_二叉树_二叉树展开为链表(74_114_C++_中等)
  • 航空电子全双工交换式以太网(Avionics Full DupleX switched Ethernet,AFDX)
  • 网站建设资费怎么做网站的浏览量统计
  • SpringBoot16-@Configuration 类
  • 【EGO-Planner自主无人机】在编译EGO-Planner源码时遇到的问题
  • 农业无人机实训教学转型—虚拟仿真破解“三高三难”
  • 专做五金正品的网站网站的定位分析
  • Android开发-java版:SQLite数据库
  • PHP进阶-在Ubuntu上搭建LAMP环境教程
  • 苔藓泛基因组--文献精读174
  • 购物网站建设过程视频权威发布信息
  • 网站建设营销方案wordpress添加微信分享功能
  • JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
  • Netty和Tomcat有什么区别
  • 多标签页导航后台模板 html+css+js 纯手写 无第三方UI框架 复制粘贴即用
  • 做贷款网站犯法英文网站字体大小
  • Docker Desktop(Windows/Mac)零外网部署 Dify 极简指南
  • 1015 Reversible Primes
  • Nextcloud容器化部署新范式:Docker与Cpolar如何重塑私有云远程访问能力
  • 网站资源建设方案西安网页设计培训
  • AI Compass前沿速览:GPT--Codex 、宇树科技世界模型、InfiniteTalk美团数字人、ROMA多智能体框架、混元D .
  • 做维修那个网站发布信息好编辑不了的wordpress
  • 织梦摄影网站模板长沙网站制作公司怎么做