力扣刷题 day55:10-25

1.数组异或操作

给你两个整数,n 和 start 。

数组 nums 定义为:numsi = start + 2*i(下标从 0 开始)且 n == nums.length 。

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

方法一:位运算

python 复制代码
#方法一:位运算
def xorOperation(n,start):
    res=0
    for i in range(n):
        res^=(start+2*i)  #逐个异或
    return res

2.统计一致字符串的数目

给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串 。

请你返回 words 数组中 一致字符串 的数目。

方法一:位运算

python 复制代码
#方法一:位运算
def countConsistentStrings(allowed,words):
    target=0
    for a in allowed:
        target|=1<<ord(a)-ord('a')  #用三十二位数存储出现的字母例如ab 11 abd 1011
    res=0
    for w in words:
        tem=0
        for i in w:
            tem|=1<<ord(i)-ord('a') #左移 如1<<2 100
        res+=(target|tem) ==target #看看或后等不等于目标值,如1011 | 1010==1011
    return res
相关推荐
圣保罗的大教堂3 小时前
leetcode 3867. 数对的最大公约数之和 中等
leetcode
To_OC6 小时前
LC 15 三数之和:双指针不难,难的是把去重做对
javascript·算法·leetcode
renhongxia18 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
G.O.G.O.G9 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
zephyr0510 小时前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米10 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚12 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结12 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_13 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
yuannl1013 小时前
图的存储方式
数据结构