算法题每日一练---第49天:数组异或操作

简介: 给你两个整数n 和 start 。

3.png

一、问题描述


给你两个整数nstart 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length


请返回 nums 中所有元素按位异或(XOR)后得到的结果。


题目链接:数组异或操作


二、题目要求


样例 1

输入:n=5, start=0输出:8解释:数组nums [0, 2, 4, 6, 8],其中 (0^2^4^6^8) =8"^"为按位异或XOR运算符。


样例 2

输入:n=4, start=3输出:8解释:数组nums [3, 5, 7, 9],其中 (3^5^7^9) =8.


考察

位运算简单题型
建议用时5~20min


三、问题分析


本题是位运算的第4题,没了解过位运算相关知识点可以看这一篇文章,讲解比较详细:

算法题每日一练---第45天:位运算


这一题本质上就是考察对位运算中异或运算法则的熟练使用,对于异或而言:

符号:^运算规则:两个二进制位相反为1,相同为0示例:1001^0111=1110

接下来,我们只需要运用简单的for循环先将数组的值计算出来,随之进行异或运算,最后输出结果即可!


四、编码实现


classSolution {
public:
intxorOperation(intn, intstart) {
inti,ans;//初始化定义vector<int>nums(n+1);//定义一维数组存储规律值for(i=0;i<n;i++)//for循环        {
nums[i]=start+2*i;//规律计算if(i==0)
            {
ans=nums[0];//初值赋值            }
elseans=ans^nums[i];//异或计算        }
returnans;//输出结果    }
};


五、测试结果13.png

相关文章
|
14天前
|
存储 人工智能 算法
C 408—《数据结构》算法题基础篇—数组(通俗易懂)
408考研——《数据结构》算法题基础篇之数组。(408算法题的入门)
58 23
|
4月前
|
算法
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
58 0
|
6月前
|
算法 测试技术
【算法】二分算法——寻找旋转排序数组中的最小值
【算法】二分算法——寻找旋转排序数组中的最小值
|
4月前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
72 1
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
4月前
|
存储 算法 定位技术
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
这篇文章主要介绍了稀疏数组和队列的概念、应用实例以及如何使用数组模拟队列和环形队列的实现方法。
50 0
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
|
4月前
|
算法 Java 程序员
【算法每日一练及解题思路】有n级台阶,一次只能上1级或2级,共有多少种走法?
本文深入解析了“爬楼梯问题”,探讨了递归与迭代两种解法,并提供了Java代码实现。通过分析问题本质,帮助读者理解动态规划技巧,提高解决实际编程问题的能力。关键词:Java, 算法, 动态规划, 爬楼梯问题, 递归, 迭代。
168 0
|
6月前
|
存储 算法 Java
深入算法基础二分查找数组
文章深入学习了二分查找算法的基础,通过实战例子详细解释了算法的逻辑流程,强调了确定合法搜索边界的重要性,并提供了Java语言的代码实现。
深入算法基础二分查找数组
|
6月前
|
算法
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
|
6月前
|
算法
【算法】模拟算法——外观数组(medium)
【算法】模拟算法——外观数组(medium)
|
6月前
|
算法
【算法】前缀和——除自身以外数组的乘积
【算法】前缀和——除自身以外数组的乘积

热门文章

最新文章