力扣刷题 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
相关推荐
云析赢指标公式网49 小时前
文华WH6布林轨道均线强弱共振指标公式
前端·算法
多弗朗皮卡丘9 小时前
数据结构4:链表(下)
c语言·数据结构·链表
luj_17689 小时前
一线一区一变破解人盯人防守密码
开发语言·网络·c++·经验分享·算法
Wang's Blog10 小时前
Java框架快速入门: Spring Security+OAuth2之字段验证与自定义验证注解实战
java·算法·spring
带多刺的玫瑰10 小时前
Leecode#29刷题之两数相除
java·python·算法
smj2302_7968265210 小时前
解决leetcode第4017题数组中的峰值II
python·算法·leetcode
午彦琳10 小时前
2026.9.9
数据结构·算法·leetcode
luj_176810 小时前
中锋卡位与开放线博弈
c语言·开发语言·网络·经验分享·算法
洋不写bug10 小时前
二叉树(四)经典算法题目解析,公共祖先,二叉树构造,非递归遍历
数据库·算法·二叉树·二叉树构造·公共祖先
hansang_IR10 小时前
【题解】P4454 [CQOI2018] 破解D-H协议
c++·算法·密码学·数论