当前位置: 首页 > news >正文

又是奇瑞,“统一下班时间”过去不久,最近又整新活了...

奇瑞 345

345 可不是奇瑞的汽车型号,而是奇瑞 7 月份会议文章中提出的新策略。

alt

简单来说,要提高加班效率,实现 3 个人干 5 个人活,拿 4 个人的工资,要把员工当成家人一样看待,要对他们的健康幸福负责。

前面是真心话,后面是心虚话。

3 个人干 5 个人活,拿 4 个人的工资。

真的,论算计,咱们比不过这些企业。

先不说拿 4 个人工资这事能不能落实吧,就算严格按照规则来计算,那也是工作量提高 60%,报酬提高 30%。

赢,双赢,奇瑞赢两次的那种赢。

真的把员工当家人,怎么不提出 4 个人干 3 个人活,拿 5 个人的工资?

奇瑞前不久才被曝光为争取 IPO,取消所有员工的加班时长,统一显示下班时间为 17:00,引起公愤,随着事件发酵,不少奇瑞人指出,平时加班加到只有早上才能见到太阳。

现在还要整新活,提高工作强度,这是有恃无恐到了什么地步?

...

回归主题。

周末了,来一道简单算法题。

题目描述

平台:LeetCode

题号:1684

给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words

如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是一致字符串。

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

示例 1:

输入:allowed = "ab", words = ["ad","bd","aaab","baa","badab"]

输出:2

解释:字符串 "aaab" 和 "baa" 都是一致字符串,因为它们只包含字符 'a' 和 'b' 。

示例 2:

输入:allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]

输出:7

解释:所有字符串都是一致的。

示例 3:

输入:allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]

输出:4

解释:字符串 "cc""acd""ac" 和 "d" 是一致字符串。

提示:

  • allowed 中的字符 互不相同 。
  • words[i] 和  allowed 只包含小写英文字母。

模拟

根据题意模拟即可:为了快速判断某个字符是否在 allowed 出现过,我们可以使用 Set 结构、定长数组或是一个 int 变量(搭配位运算)来对 allowed 中出现的字符进行转存。

随后遍历所有的 ,统计符合要求的字符串个数。

Java 代码:

class Solution {
    public int countConsistentStrings(String allowed, String[] words) {
        boolean[] hash = new boolean[26];
        for (char c : allowed.toCharArray()) hash[c - 'a'] = true;
        int ans = 0;
        out:for (String s : words) {
            for (char c : s.toCharArray()) {
                if (!hash[c - 'a']) continue out;
            }
            ans++;
        }
        return ans;
    }
}

Java 代码:

class Solution {
    public int countConsistentStrings(String allowed, String[] words) {
        int hash = 0, ans = 0;
        for (char c : allowed.toCharArray()) hash |= (1 << (c - 'a'));
        out:for (String s : words) {
            for (char c : s.toCharArray()) {
                if (((hash >> (c - 'a')) & 1) == 0continue out;
            }
            ans++;
        }
        return ans;
    }
}

TypeScript 代码:

function countConsistentStrings(allowed: string, words: string[]): number {
    const sset = new Set<string>()
    for (const c of allowed) sset.add(c)
    let ans = 0
    out:for (const s of words) {
        for (const c of s) {
            if (!sset.has(c)) continue out
        }
        ans++
    }
    return ans
}

TypeScript 代码:

function countConsistentStrings(allowed: string, words: string[]): number {
    let hash = 0, ans = 0
    for (const c of allowed) hash |= (1 << (c.charCodeAt(0) - 'a'.charCodeAt(0)))
    out:for (const s of words) {
        for (const c of s) {
            if (((hash >> (c.charCodeAt(0) - 'a'.charCodeAt(0))) & 1) == 0continue out
        }
        ans++
    }
    return ans
}

Python 代码:

class Solution:
    def countConsistentStrings(self, allowed: str, words: List[str]) -> int:
        sset = set([c for c in allowed])
        ans = 0
        for s in words:
            ok = True
            for c in s:
                if c not in sset:
                    ok = False
                    break
            ans += 1 if ok else 0
        return ans

Python 代码:

class Solution:
    def countConsistentStrings(self, allowed: str, words: List[str]) -> int:
        num, ans = 00
        for c in allowed:
            num |= (1 << (ord(c) - ord('a')))
        for s in words:
            ok = True
            for c in s:
                if not (num >> (ord(c) - ord('a')) & 1):
                    ok = False
                    break
            ans += 1 if ok else 0
        return ans
  • 时间复杂度: ,其中 allowed 长度, words 长度
  • 空间复杂度:

最后

巨划算的 LeetCode 会员优惠通道目前仍可用 ~

使用福利优惠通道 leetcode.cn/premium/?promoChannel=acoier,年度会员 有效期额外增加两个月,季度会员 有效期额外增加两周,更有超大额专属 🧧 和实物 🎁 福利每月发放。

我是宫水三叶,每天都会分享算法知识,并和大家聊聊近期的所见所闻

欢迎关注,明天见。

更多更全更热门的「笔试/面试」相关资料可访问排版精美的 合集新基地 🎉🎉

相关文章:

又是奇瑞,“统一下班时间”过去不久,最近又整新活了...

奇瑞 345 345 可不是奇瑞的汽车型号&#xff0c;而是奇瑞 7 月份会议文章中提出的新策略。 简单来说&#xff0c;要提高加班效率&#xff0c;实现 3 个人干 5 个人活&#xff0c;拿 4 个人的工资&#xff0c;要把员工当成家人一样看待&#xff0c;要对他们的健康幸福负责。 前面…...

ubuntu24.04lts cmake编译 opencv4.5.4 contrib的一些问题

编译之前一定要安装好必须的库&#xff0c;否则即使提示编译成功&#xff0c;调用opencv后也可能会有问题 sudo apt-get update sudo apt-get upgradesudo apt-get install -y g sudo apt-get install -y cmake sudo apt-get install -y make sudo apt-get install…...

大数据面试SQL(三):每分钟在线直播人数

文章目录 每分钟在线直播人数 一、题目 二、分析 三、SQL实战 四、样例数据参考 每分钟在线直播人数 一、题目 有如下数据记录直播平台主播上播及下播时间&#xff0c;根据该数据计算出平台每分钟的在线直播人数。 这里用主播名称做统计&#xff0c;前提是主播名称唯一…...

python中执行mysql操作并将python脚本共享

mysql下载路径&#xff1a; ​​​​​​MySQL :: MySQL Community Downloads [root2 ~]# vim py001.py a3 b4 print(ab) print(a**2b**2) [root2 ~]# python py001.py 7 25 [root2 ~]# python3 >>> import random >>> random <module rando…...

HTTP、HTTPS、SOCKS5三种协议特点

在互联网通信中&#xff0c;HTTP、HTTPS和SOCKS5是三种至关重要的协议&#xff0c;它们各自具有独特的特点和应用场景。本文将详细探讨这三种协议的特点&#xff0c;帮助读者更好地理解它们在网络通信中的作用。 一、HTTP协议特点 HTTP&#xff08;Hypertext Transfer Protoc…...

在ubuntu、centos、openEuler安装Docker

目录 ubuntu、centos、openEuler安装Docker 1.在 Ubuntu 上安装 Docker 1. 1 更新软件包 1. 2 安装必要的依赖 1.3 添加 Docker 的 GPG 密钥 1.4 添加 Docker 仓库 1.5 更新软件包 1.6 安装 Docker 1.7 启动并启用 Docker 服务 1.8 验证安装 1.9 运行测试容器 1.10…...

公共命名空间的例子3

有这样一个句子 用x语言解释[12*3]。 在x语言中&#xff0c;不符合“先乘除后加减”&#xff0c;这个句子应该怎样解释呢&#xff1f; 第一步&#xff0c;进行词法分析&#xff0c;目的是识别出注释和字符串&#xff0c;其中可能包括任意符号&#xff0c;干扰编译过程。 第二步…...

【云存储】SDS软件定义存储,数据存储的类型与技术方案(块/文件/对象,Ceph、RBD等)

【云存储】SDS软件定义存储&#xff0c;数据存储的类型与技术方案&#xff08;块/文件/对象&#xff0c;Ceph、RBD等&#xff09; 文章目录 1、分布式存储架构&#xff08;软件定义存储SDS&#xff0c;超融合基础架构HCI&#xff09;2、存储类型&#xff08;块存储&#xff0c;…...

第31课 Scratch入门篇:小画家(舞台上画画)

小画家(舞台上画画) 故事背景: 在舞台上选择画笔和颜色,进行画画 程序原理: 这节课我们继续练习画笔功能,通过画笔功能我们设计一个小画板,碰到哪种颜色画笔就切换成哪种颜色。 开始编程 1、绘制一大一小的黑色圆形,小的命名为画笔,大的圆形命名为black(黑色) 2、鼠…...

QT UI界面之ListView

文章目录 概述源码怎么用代码qt design 小结 概述 本来把布局文件那块写了一遍&#xff0c;但是看看都跟之前那篇差不多&#xff0c;就换了一个稍微有点难度的&#xff0c;也很常用的listview来写了。来看看&#xff0c;有什么好玩的。 源码 先看下源码&#xff0c;如下&…...

freeRTOS互斥量(mutex)

目录 前言 一、互斥量概述 二、互斥量函数 1.创建 2.其他函数 三、优先级反转示例 1.概念 2.代码示例 四、优先级继承 1.概念 2.代码示例 五、递归锁 1.死锁的概念 2.自我死锁 3.函数 4.递归锁代码示例 前言 在之前的信号量中&#xff0c;我们想要实现互斥的…...

基于GeoTools使用JavaFx进行矢量数据可视化实战

目录 前言 一、JavaFx展示原理说明 二、GeoTools的Maven依赖问题 三、引入Geotools相关的资源包 四、创建JavaFx的Canvas实例 五、JavaFx的Scene和Node的绑定 六、总结 前言 众所周知&#xff0c;JavaFx是Java继Swing之后的又一款用于桌面应用的开发利器。当然&#xff0…...

zabbix的setup无法进入第二步

注意-部署时&#xff0c;报错要看的日志不止一个&#xff0c;php日志的报错也要看的&#xff0c;nginx接收到请求后是转发到php-fpm的 [rootweb01-84-41 ~]# chmod -R 777 /var/lib/php/session chmod: 无法访问"/var/lib/php/session": 没有那个文件或目录 [rootweb…...

代码随想录算法训练营第四十六天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇

一、115. 不同的子序列 题目链接&#xff1a;115. 不同的子序列 - 力扣&#xff08;LeetCode&#xff09; 文章讲解&#xff1a;代码随想录 (programmercarl.com)——115. 不同的子序列 视频讲解&#xff1a;动态规划之子序列&#xff0c;为了编辑距离做铺垫 | LeetCode&#x…...

宝塔安装nginx失败报错“检测到系统组件wget不存在,无法继续安装”

宝塔安装nginx失败报错“检测到系统组件wget不存在&#xff0c;无法继续安装” 问题描述解决方案 问题描述 在宝塔中安装lnmp环境时&#xff0c;安装nginx失败报错&#xff1a;检测到系统组件wget不存在&#xff0c;无法继续安装 如下图所示 通过检查发现系统是已经安装了wge…...

C++之运算符重载系列深入学习:从入门到精通!

为什么需要对运算符进行重载 C预定义中的运算符的操作对象只局限于基本的内置数据类型&#xff0c;但是对于我们自定义的类型是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算&#xff0c;这个时候就需要我们对这么运算符进行重新定义&#xff0c;赋予其…...

国赛分析。。。。

山东 6散落2两元素 浙江 8散落两元素 安徽不公布 4散落2元素 120s 华南 8散落两元素 西部 8散落两元素 华北 8 2.。。。 华东 东北 路边6张两元素...

无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案

无缝融入,即刻智能[一]:Dify-LLM大模型平台,零编码集成嵌入第三方系统,42K+星标见证专属智能方案 1.Dify 简介 1.1 功能情况 Dify,一款引领未来的开源大语言模型(LLM)应用开发平台,革新性地融合了后端即服务(Backend as a Service,BaaS)与LLMOps的精髓,为开发者铺…...

PLSQL导入导出ORACLE数据提示失败问题修改PLSQL配置

oracle中plsql导入提示无法导入问题 1.首先看下是否环境变量已经配置(具体配置看下面环境变量配置) 2.plsql数据导入中tools-->Preferences中配置如下框中的内容 3.设置 tnsnames.ora文件中看下是否设置有问题 4.PLSQL乱码问题 NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16…...

从Shift+F6到雪花算法:IDEA开发中的那些坑与解法

在日常开发中&#xff0c;提升代码质量和开发效率是每个开发者追求的目标。作为 Java 开发者常用的集成开发环境&#xff0c;IntelliJ IDEA 提供了丰富的功能与快捷键&#xff0c;帮助我们更快速、更高效地完成日常工作。然而&#xff0c;即便是如此强大的工具&#xff0c;也会…...

华一拼团热度背后:中小商家的「流量狂欢」与「经营基本功」思考

当拼团成为现象&#xff0c;我们该关注什么&#xff1f;近半年来&#xff0c;一种以“低门槛参与、阶梯式激励、复购循环”为核心的拼团模式在商家圈引发讨论。其中&#xff0c;“华一拼团”因快速起量和广泛传播&#xff0c;成为观察中小商家经营心态的一个切口——在获客成本…...

IDimager Products Photo Supreme

链接&#xff1a;https://pan.quark.cn/s/ef9a346f6ac6IDimager Products Photo Supreme图像管理是一非常实用的图片管理应用程序&#xff0c;用户可以通过它来收集自己喜欢的图片&#xff0c;分类处理图片&#xff0c;以后想找图片就会更方便快捷一些&#xff0c;需要的可以来…...

第一篇博客:从新开始学习C语言

这是我的第一篇博客&#xff0c;也算是从0开始了。不仅是写博客的起点&#xff0c;也是我下定决心以更加认真的态度学好编程语言的起点。大家好&#xff0c;我是一名来自双非学校大二的学生。虽然已经大二了但是仍有很多方面未接触过&#xff0c;很多东西还不懂。说从新开始学习…...

ROS Noetic下用pcl_ros保存带反射强度的点云数据:从订阅话题到生成PCD文件全流程

ROS Noetic下高效保存带反射强度的点云数据实战指南 激光雷达点云数据中的反射强度信息往往蕴含着丰富的环境特征&#xff0c;对于SLAM建图、目标识别等应用至关重要。本文将手把手教你如何在ROS Noetic环境中&#xff0c;快速完成从实时话题订阅到PCD文件生成的完整流程&#…...

Intv_AI_MK11与PyCharm深度集成:打造AI全栈开发环境

Intv_AI_MK11与PyCharm深度集成&#xff1a;打造AI全栈开发环境 1. 引言 作为一名开发者&#xff0c;你是否遇到过这样的场景&#xff1a;在PyCharm中编写代码时&#xff0c;突然卡在某个函数实现上&#xff0c;或者不确定某个API的最佳用法&#xff1f;传统的解决方案是切换…...

深入解析C++中的CRTP(奇异递归模板模式)

深入解析C中的CRTP&#xff08;奇异递归模板模式&#xff09; 在C的模板编程领域&#xff0c;CRTP&#xff08;Curiously Recurring Template Pattern&#xff09;作为一种独特的设计模式&#xff0c;为代码复用和类型安全提供了有效的解决方案。本文将探讨CRTP的基本概念、实现…...

STM32 SysTick定时器在实时系统中的精准时间管理实践

1. SysTick定时器的核心原理与RTOS适配 SysTick作为ARM Cortex-M内核的标准配置&#xff0c;本质上是一个24位递减计数器。我在多个STM32项目中发现&#xff0c;它的设计初衷就是为操作系统提供稳定时基。与通用定时器不同&#xff0c;SysTick直接集成在NVIC中&#xff0c;这意…...

C# DOTS内存暴涨真相(ECS组件碎片化大揭秘):基于IL2CPP内存快照的12类GC压力源定位指南

第一章&#xff1a;C# DOTS内存暴涨真相&#xff08;ECS组件碎片化大揭秘&#xff09;在Unity DOTS&#xff08;Data-Oriented Technology Stack&#xff09;实践中&#xff0c;许多开发者遭遇了看似“无故”的内存持续增长现象——托管堆&#xff08;Managed Heap&#xff09;…...

从零搭建Chiplet系统?保姆级梳理UCIe实战中的那些“坑”:Sideband流控、时钟门控与多模块链路

从零搭建Chiplet系统&#xff1a;UCIe实战中的关键挑战与解决方案 在半导体行业追求更高性能、更低功耗的今天&#xff0c;Chiplet技术已成为突破传统单芯片设计瓶颈的重要路径。作为连接不同Chiplet的"桥梁"&#xff0c;UCIe(Universal Chiplet Interconnect Expres…...

保姆级教程:用OpenCV SGBM算法从双目图像生成彩色点云(附完整Python代码与参数调试心得)

从双目图像到彩色点云&#xff1a;OpenCV SGBM算法实战与参数调优全解析 双目视觉技术正在工业检测、自动驾驶、三维重建等领域获得广泛应用。本文将手把手带您实现从双目图像采集到彩色点云生成的全流程&#xff0c;重点剖析SGBM算法核心参数的调优技巧&#xff0c;并分享视差…...