力扣刷题 day55:10-25

1.数组异或操作

给你两个整数,n 和 start 。

数组 nums 定义为:nums[i] = 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
相关推荐
散峰而望几秒前
OJ 题目的做题模式和相关报错情况
java·c语言·数据结构·c++·vscode·算法·visual studio code
zc.ovo12 分钟前
线段树优化建图
数据结构·c++·算法·图论
WaWaJie_Ngen13 分钟前
C++实现一笔画游戏
c++·算法·游戏·游戏程序·课程设计
程序员-King.15 分钟前
day140—前后指针—删除排序链表中的重复元素Ⅱ(LeetCode-82)
数据结构·算法·leetcode·链表
小尧嵌入式15 分钟前
【Linux开发一】类间相互使用|继承类和构造写法|虚函数实现多态|五子棋游戏|整数相除混合小数|括号使用|最长问题
开发语言·c++·算法·游戏
Remember_99316 分钟前
【JavaSE】一站式掌握Java面向对象编程:从类与对象到继承、多态、抽象与接口
java·开发语言·数据结构·ide·git·leetcode·eclipse
皮蛋sol周17 分钟前
嵌入式学习数据结构(二)双向链表 内核链表
linux·数据结构·学习·嵌入式·arm·双向链表
BHXDML21 分钟前
第三章:聚类算法
算法·机器学习·聚类
仙俊红30 分钟前
二分查找边界模板:第一个 > target / 第一个 < target(找不到就返回边界)
算法
苦藤新鸡33 分钟前
16.求数组除了当前元素的所有乘积
算法·leetcode·动态规划