去年做哪个网站能致富/选择宁波seo优化公司
目录
- 一、:⾯试题 01.01.判定字符是否唯⼀
- 1.1 位图
- 1.2 hash思路
- 1.3 暴力枚举
- 二、268.丢失的数字
- 2.1 位运算,异或
- 2.2 数学求和
- 三、371.两整数之和
- 四、137.只出现⼀次的数字 II
- 五、⾯试题 17.19.消失的两个数字

一、:⾯试题 01.01.判定字符是否唯⼀
题目链接::⾯试题 01.01.判定字符是否唯⼀
题目描述:
题目解析:
- 给一个字符串,看字符串中字符是否有重复,有返回false,没有返回true。
1.1 位图
解题思路:
- 因为这个字符串全是小写字符,所以只有26个字符,并且求得是是不是有重复。
- 那么我们就可以使用一个int的32个比特位来表示,字符’a’到’z’分别对应二进制的0到25下标。
- 如果下标变成1,后出现了该下标对应的字母,那么就是有重复字符。
- 拿到二进制第 i 位是1还是0:(x >> i) & 1
- 将二进制第 i 位变为1:x = x | (1 << i)
解题代码:
//时间复杂度:O(N)
//空间复杂度:O(1)
class Solution {public boolean isUnique(String astr) {if(astr.length() > 26) return false;int bit = 0;for(int i = 0; i < astr.length(); i++) {int temp = bit;if( ( (temp >> astr.charAt(i) ) & 1) == 1) return false;bit = bit | ( 1 << astr.charAt(i));}return true;}
}
1.2 hash思路
解题思路:
- 使用一个hash数组来记录每个字符出现的次数,因为全是小写字母,只需申请有效空间即可。
解题代码:
//时间复杂度:O(N)
//空间复杂度:O(1)
class Solution {public boolean isUnique(String astr) {if(astr.length() > 26) return false;int[] hash = new int[26];for(int i = 0; i < astr.length(); i++) {if(hash[astr.charAt(i)-'a'] != 0) return false;hash[astr.charAt(i)-'a']++;}return true;}
}
1.3 暴力枚举
解题思路:
- 直接两层for循环遍历,第一层遍历字符,第二层在剩下字符串种找是否有相同字符。
解题代码:
//时间复杂度:O(n^2)
//空间复杂度:O(1)
class Solution {public boolean isUnique(String astr) {if(astr.length() > 26) return false;for(int i = 0; i < astr.length(); i++) {for(int j = i+1; j < astr.length(); j++) {if(astr.charAt(i) == astr.charAt(j)) return false; }}return true;}
}
二、268.丢失的数字
题目链接:268.丢失的数字
题目描述:
题目解析:
- 给一个长度为n的数组,数组中在[ 0 , n ]中只有一个数字没包含,返回这个数字。
2.1 位运算,异或
解题思路:
- 将数组中的元素一一进行异或运算,同时与[ 0 , n ]的数字进行异或运算。
- 到最后这剩下数组中没有的元素,没有与相同数字进行异或运算,最后就只剩下他了。
解题代码:
//时间复杂度:O(n)
//空间复杂度:O(1)
class Solution {public int missingNumber(int[] nums) {int ret = 0;for(int i = 0; i < nums.length; i++) {ret = ret ^ i ^ nums[i];}return ret ^ nums.length;}
}
2.2 数学求和
解题思路:
- 先将[ 0 , n ]的和求出来。然后遍历数组,减去数组中元素。最后剩下的就是要求的数字。
解题代码:
//时间复杂度:O(n)
//空间复杂度:O(1)
class Solution {public int missingNumber(int[] nums) {int n = nums.length;int sum = (n+1) * n / 2;for(int i = 0; i < n; i++)sum -= nums[i];return sum;}
}
三、371.两整数之和
题目链接:371.两整数之和
题目描述:
题目解析:
- 不使用加法,算a+b
解题思路:
- 使用异或,异或是无进位相加。
- 那么我们只需要将要进位的地方记录下来,要进位的地方是两个数都是1才进位。也就是 按位与的结果,但是下一次异或的是,上一次按位与结果左移一位的结果。
- 所以我们最多按位异或,按位与32次。
解题代码:
//时间复杂度:O(1)
//空间复杂度:O(1)
class Solution {public int getSum(int a, int b) {while( b != 0) {int temp = a;a = a ^ b;b = (temp & b) << 1;}return a;}
}
四、137.只出现⼀次的数字 II
题目链接:137.只出现⼀次的数字 II
题目描述:
题目解析:
- 给一个数组,数组中只有一个元素只出现一次,其余全出现了3次,返回只出现一次的那个元素。
解题思路:
- 当我们将数组中元素的每一位比特位求和之后,假设只出现一次的数的比特位上是x,那么每位上的和都是3n+x。n就代表出现3次的元素的比特位求一次和的结果。
- 所以当我们将和对3取余后,那么该比特位上的值就和要求元素一样了。
解题代码:
//时间复杂度:O(n)
//空间复杂度:O(1)
class Solution {public int singleNumber(int[] nums) {int ret = 0;for(int i = 0; i < 32; i++) {//求比特位之和int sum = 0;for(int x : nums) {sum += ( (x>>i) & 1);}//修改结果对应比特位sum %= 3;if(sum == 1) ret = ret | (1 << i);}return ret;}
}
五、⾯试题 17.19.消失的两个数字
题目链接:⾯试题 17.19.消失的两个数字
题目描述:
题目描述:
- 给一个数组,这个数组在[ 1 , nums.length + 2]区间有两个数不包含,找到并返回。
解题思路:
- 其实这道题跟上一篇的第六道是一道题。
- 先将所有的元素(数组元素和[ 1 , nums.length + 2] 的数)全部异或在一起,就相当于两个只出现一次的元素异或在一起。
- 在去出上诉异或结果,最右边的1。这位上两个数字是不相同的。
- 所以再次遍历数组与结果数组异或,如果该位上与第二步结果相同放一个下标,不同放另一个下标。最后得到的就是结果了
解题代码:
//时间复杂度:O(n)
//空间复杂度:O(1)
class Solution {public int[] missingTwo(int[] nums) {int n = nums.length;int[] ret = new int[2];int last = 0;for(int i = 0; i <= n+2; i++) {if(i < n) last ^= nums[i];last ^= i;}last = last & -last;for(int i = 0; i <= n+2; i++) {if(i < n) {if((last & nums[i]) == 0) ret[0] ^= nums[i];else ret[1] ^= nums[i];}if((last & i) == 0) ret[0] ^= i;else ret[1] ^= i;}return ret;}
}
相关文章:

【算法】【优选算法】位运算(下)
目录 一、:⾯试题 01.01.判定字符是否唯⼀1.1 位图1.2 hash思路1.3 暴力枚举 二、268.丢失的数字2.1 位运算,异或2.2 数学求和 三、371.两整数之和四、137.只出现⼀次的数字 II五、⾯试题 17.19.消失的两个数字 一、:⾯试题 01.01.判定字符是…...

前端性能优化篇:防抖和节流
参考:JS问题:项目中如何区分使用防抖或节流? 面试官:什么是防抖和节流?有什么区别?如何实现? 1 为什么要用到防抖和节流 当函数绑定一些持续触发的事件如:浏览器的resize、scroll…...

同为科技(TOWE)柔性定制化PDU插座
随着科技的进步,越来越多的精密电子设备,成为工作生活密不可分的工具。 电子电气设备的用电环境也变得更为复杂,所以安全稳定的供电是电子电气设备的生命线。 插座插排作为电子电气设备最后十米范围内供配电最终核心部分,便捷、安…...

【云原生系列】云计算中的负载均衡是什么,有什么用
云计算里有一个非常重要的概念叫“负载均衡”,如果你经常听到这个词但还不太明白具体是怎么回事,这篇文章可以给你一些思路。负载均衡简单来说就是“分担压力”,确保访问量被合理地分配到各个服务器上,让系统高效且稳定地运行。 …...

工业—使用Flink处理Kafka中的数据_ChangeRecord2
使用 Flink 消费 Kafka 中 ChangeRecord 主题的数据,每隔 1 分钟输出最近 3 分钟的预警次数最多的 设备,将结果存入Redis 中, key 值为 “warning_last3min_everymin_out” , value 值为 “ 窗口结束时间,设备id” &am…...

【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构,在众多编程场景中都有着独特的地位。它们为数据的有序…...

工业—使用Flink处理Kafka中的数据_ProduceRecord1
1 、 使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入Redis 中, key 值为 “totalproduce” , value 值为 “ 设备 id ,最近五分钟生…...

探索CSS版心布局:构建现代网页的黄金比例
探索CSS版心布局:构建现代网页的黄金比例 在网页设计中,版心(或称为内容区域)是页面的核心部分,通常用于放置主要内容。使用CSS3的新特性,可以创建更加灵活和响应式的版心布局。本文将详细介绍如何使用CSS…...

华为NPU服务器昇腾Ascend 910B2部署通义千问Qwen2.5——基于mindie镜像一路试错版(三)
文章目录 前言纯模型推理启动服务后面干什么?这可咋整啊?愁死了!总结前言 这是咱这个系列的第三个文章了。 毕竟,这是我好几天摸索出的经验,能帮助各位在几个小时内领会,我觉得也算是我的功劳一件了。 所以,一是希望大家耐心看下去,耐心操作下去;而是恳请各位多多关…...

详解Java数据库编程之JDBC
目录 首先创建一个Java项目 在Maven中央仓库下载mysql connector的jar包 针对MySQL版本5 针对MySQL版本8 下载之后,在IDEA中创建的项目中建立一个lib目录,然后把刚刚下载好的jar包拷贝进去,然后右键刚刚添加的jar包,点击‘添…...

基于MFC实现的人机对战五子棋游戏
基于MFC实现的人机对战五子棋游戏 1、引言 此报告将详细介绍本次课程设计的动机、设计思路及编写技术的详细过程,展现我所学过的C知识以及我通过本次课程设计所学到例如MFC等知识。在文档最后我也会记录我所编写过程遇到的问题以及解决方案。 1.1 背景 五子棋是…...

AIGC 时代的文学:变革与坚守
目录 一.AIGC 带来的文学变革 1.创作方式的改变 2.阅读体验的升级 3.文学市场的重塑 二.文学在 AIGC 时代的坚守 1.人类情感的表达 2.文学的艺术性 3.文学的社会责任 三.AIGC 与人类作家的共生之路 1.相互学习 2.合作创作 3.共同发展 另: 总结 随着人…...

InfluxDB 集成 Grafana
将InfluxDB集成到Grafana进行详细配置通常包括以下几个步骤:安装与配置InfluxDB、安装与配置Grafana、在Grafana中添加InfluxDB数据源以及创建和配置仪表板。以下是一个详细的配置指南: 一、安装与配置InfluxDB 下载与安装: 从InfluxDB的官…...

笔记本电脑usb接口没反应怎么办?原因及解决方法
笔记本电脑的USB接口是我们日常使用中非常频繁的一个功能,无论是数据传输、充电还是外接设备,都离不开它。然而,当USB接口突然没有反应时,这无疑会给我们的工作和学习带来不小的困扰。下面,我们就来探讨一下笔记本USB接…...

【开源】A060-基于Spring Boot的游戏交易系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...

static关键字在嵌入式C编程中的应用
目录 一、控制变量的存储周期和可见性 1.1. 局部静态变量 1.2. 全局静态变量 二、控制函数的可见性 2.1. 静态函数 2.2. 代码示例(假设有两个文件:file1.c和file2.c) 三、应用场景 3.1. 存储常用数据 3.2. 实现内部辅助函数 四、注…...

集合框架(1)
集合框架(1) 1、数组的特点与弊端 (1)特点: 数组初始化以后,长度就确定了。数组中的添加的元素是依次紧密排列的,有序的,可以重复的。数组声明的类型,就决定了进行元素初…...

Java 基础之泛型:类型安全的保障与灵活运用
在 Java 编程的世界里,泛型是一个至关重要且非常实用的特性。它在 Java 5 中被引入,从根本上改变了我们处理数据类型的方式,提供了更强的类型安全保障,同时也增加了代码的复用性和可读性。 一、什么是泛型 泛型(Gener…...

开发者如何使用GCC提升开发效率Opencv操作
看此篇前请先阅读 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144216351?spm=1001…...

矩阵加法
矩阵加法 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 输入两个n行m列的矩阵A和B,输出它们的和AB。 输入 第一行包含两个整数n和m,表示矩阵的行数和列数。1 <…...

yarn : 无法加载文件 E:\node\node_global\yarn.ps1,因为在此系统上禁止运行脚本
先确保安装了yarn —— npm install -g yarn 终端输入set-ExecutionPolicy RemoteSigned 若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请使用以下命令将计算机上的执行策略更改为RemoteSigned 再去使用yarn okk~...

详解C++类与对象(四)
文章目录 1.类型转换1.1 前言1.2 类型转换的性质 2.static成员2.1 前言2.2 static的基本概念 3.友元4.内部类5.匿名对象 1.类型转换 1.1 前言 在C中,由于程序员可以自己显示定义一个新的类。这样就会出现一个问题:程序员自己显示定义的类类型与编译器中…...

Pandas处理和分析嵌套JSON数据:从字符串到结构化DataFrame
在数据分析领域,我们经常遇到需要从非结构化数据中提取有用信息的场景。特别是当数据以JSON字符串的形式出现时,如何有效地将其转换为结构化的表格形式,以便进行进一步的分析和处理,成为了一个常见的挑战。本文将通过一个具体的例…...

【强化学习入门笔记】1.5 贝尔曼最优公式
本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记. 课程视频网址:https://space.bilibili.com/2044042934 1.5.1 定义 1.5.1.1 Contraction mapping theorem (收缩映射定理) fixed point(不动点) 如果 x ∗ x^* x∗满足下式, x ∗ x^* x∗称之为…...

编码问题技术探讨:IDE全局GBK与项目UTF-8引发的中文乱码
在软件开发过程中,编码问题一直是开发者们需要面对和解决的难题之一。尤其是在使用IDE(集成开发环境)时,如果全局编码设置与项目编码设置不一致,往往会导致中文乱码的问题。本文将深入探讨这一问题的背景、示例以及解决…...

SpringBoot两天
SpringBoot讲义 什么是SpringBoot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式…...

自动化立体仓库项目任务调度系统中任务流程可视化实现
在运维自动化平台中,任务系统无疑是最核心的组成部分之一。它承担着所有打包编译、项目上线、日常维护等运维任务的执行。通过任务系统,我们能够灵活地构建满足不同需求的自定义任务流。早期的任务流后端采用了类似列表的存储结构,根据任务流内子任务的排序依次执行,尽管通…...

计算机毕业设计hadoop+spark民宿推荐系统 民宿数据分析可视化大屏 民宿爬虫 民宿大数据 知识图谱 机器学习 大数据毕业设计
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

Java中OGNL表达式语言的使用
文章目录 OGNL 介绍OGNL 使用场景- ognl- 主要功能- 注意事项- Ognl类的主要方法- 设置值- 获取值- 使用示例 - MybatisJava原生表达式的使用 - Fastjson- JSONPath类的主要方法- 主要功能- JSONPath的优势- 使用示例 Spring不选择OGNL的原因 OGNL 介绍 OGNL(Objec…...

[HCTF 2018]WarmUp-滑稽
启动场景打开链接,出现一下图片 F12查看代码出现一个注释,应该在这个文件中, 进入到该页面,出现一段代码 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["sourc…...