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

招聘网站排名网站建设家居

招聘网站排名,网站建设家居,品牌网站升级,聚合影视网站建设一、判定字符是否唯一 题目解析 对于这道题,给的一个字符串,要求我们判断该字符串中的所有字符是否完全都不同; 如果存在相同字符,就返回false;否则就返回true 其中字符串s中只存在小写字母。 算法思路 解法一&am…

一、判定字符是否唯一

题目解析

在这里插入图片描述

对于这道题,给的一个字符串,要求我们判断该字符串中的所有字符是否完全都不同;

如果存在相同字符,就返回false;否则就返回true

其中字符串s中只存在小写字母。

算法思路

解法一:

使用hashset/unordered_set)统计字符串s中的每一个字符,当出现相同字符就返回false

遍历完s,还是没有出现相同字符就返回true

解法二:

题目中也提到:如果不使用额外的数据结构,会很加分。

这里我们也可以不使用额外的数据结构,当然不是使用数组来统计每个字符。

字符串s中,只存在小写字母(26个小写字母);并且我们只需判断是否存在相同的字母即可。

所以,这里就可以使用位图来统计每个小写字母是否存在。

  • 遍历字符s,判断字符e是否存在
  • 判断位图bitmap中,二进制第e-'a'位是否为1
  • 1则表示该字符已经出现过;不为1则表示该字符之前没有出现过,将要将第e-'a'位修改为1

代码实现

class Solution {
public:bool isUnique(string astr) {int bitmap = 0;for (auto& e : astr) {int i = e - 'a';// 判断第i位是否为1int tmp = bitmap;if (((tmp >> i) & 1) == 1)return false;elsebitmap |= (1 << i);}return true;}
};

二、丢失的数字

题目解析

在这里插入图片描述

对于这道题,给定一个包含[0 , n]n个数的数组nums,要求找出数组nums中,[0 , n]范围内没有出现的数字。

简单来说就是:[0 , n]中 一共n+1个数,在数组中nums只存在n个,要找出nums中不存在的那一个数。

算法思路

这道题要直接去找这个不存在的数,使用hash统计还是非常麻烦的;

思路:

数组nums中,一个存在n个数,[0 , n]中的n个数(每个数出现一次);

而数组下标范围:[0 , n-1]0n-1n个数,每个数出现一次);

如果再增加一个数n,那在nums中(包含下标),[0 , n]中只有一个数只出现了一次,其他数都出现了两次。

问题就转化为:只出现一次的数字

在这里插入图片描述

所以,只需让n按位与上数组下标[0 , n]和数组nums中的每一个数;即可找出这一个丢失的数字。

代码实现

class Solution {
public:int missingNumber(vector<int>& nums) {int n = nums.size();int ret = n;for (int i = 0; i < n; i++) {ret ^= i;ret ^= nums[i];}return ret;}
};

三、两整数之和

题目解析

在这里插入图片描述

这道题很简单,题如其名:给定两个整数,不使用运算符+/-,计算并返回两整数之和。

算法思路

这道题,如果不讲武德,直接就返回a + b,就太没有意思了。

这里我们可以使用位运算^&操作来计算a+b

^按位与操作,也就相等于无进位相加,要使用位运算来计算a+b,也就只用考虑进位问题

^:无进位相加

进位:只有ab对应bit位都为1时才会产生进位;(而进位是要加到高位去的(a&b) << 1)

有了无进位相加a^b、进位(a&b) << 1,就要计算a^b+(a&b) << 1,就又要计算无进位相加和进位,并计算和。

直到进位为0,才计算完毕。

在这里插入图片描述

代码实现

class Solution {
public:int getSum(int a, int b) {int ret = a ^ b;int carry = (a & b) << 1;while (carry != 0) {a = ret;b = carry;ret = a ^ b;carry = (a & b) << 1;}return ret;}
};

本篇文章到这里就结束了,感谢支持
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

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

相关文章:

  • 【自然语言处理与大模型】RAG发展过程中的三个范式
  • 华为纯血鸿蒙系统怎么安装物联通
  • 基于 PyTorch 的 CIFAR-10 图像分类实践
  • 专业的新乡网站建设深圳企业网站建设专业
  • 旅游网站论文不让网站在手机怎么做
  • DeepSeek-V3.1最终版,DeepSeek-V3.1-Terminus来了!
  • 若依前后端分离版实现前端国际化步骤
  • 做游戏本测评的网站合肥建设局网站首页
  • PyTorch深度学习快速入门--B站小土堆笔记
  • 【论文阅读笔记】VeloCycle
  • OpenSpeedy简介
  • 【论文阅读 | IF 2025 | LFDT-Fusion:潜在特征引导的扩散 Transformer 模型在通用图像融合中的应用】
  • 网网站建设站建设做推广优化的网站有哪些
  • 企业建设网站个人总结网站内容与目录结构图
  • 软考中级习题与解答——第十三章_数据库分析与设计(1)
  • 2025 PHP7/8 实战入门:15 天精通现代 Web 开发——第 15 课:项目实战与部署
  • RNA甲基化技术如何选择?
  • 网站建设与运营实验上海环球金融中心
  • 高斯分布及其线性变换
  • silverlight做的网站英文网站做百度权重有意义吗
  • 宁波网站推广报价南京网站定制
  • Linux开发工具入门:零基础到熟练使用(二)
  • kafka-日志收集平台部署项目
  • 郑州建站推广公司太原市制作网站
  • 学习:uniapp全栈微信小程序vue3后台(28)
  • 如何提高网站流量公众号推广代理
  • 怎么自己做淘宝客网站吗.net响应式网站模板
  • AI投资决策Agent系列——沃伦·巴菲特Agent
  • 网站开发流程知乎深圳线上注册公司
  • PSG数据集概述