【LeetCode】每日一题 2023_11_6 最大单词长度乘积

文章目录

  • 刷题前唠嗑
  • 题目:最大单词长度乘积
    • 题目描述
    • 代码与解题思路
    • 偷看大佬题解
  • 结语

刷题前唠嗑


LeetCode? 启动!!!

题目:最大单词长度乘积

题目链接:318. 最大单词长度乘积

题目描述

代码与解题思路

不含公共字母的两个字符串的最大乘积,这要是一个个遍历求解,那得有多暴力啊,我选择直接开摆。。。偷看一眼题解看看有什么好方法

偷看大佬题解

。。。

怎么全是位运算啊。。。这个月到处都是位运算要把我弄疯啦

func maxProduct(words []string) (ans int) {marks := [1000]int{}for i, v := range words {t := 0for j := 0; j < len(v); j++ { // 用 int 的低 26 位来代指字母 a-z 是否出现u := v[j]-'a't |= 1<<u}marks[i] = t}for i := 0; i < len(words); i++ {for j := 0; j < i; j++ {if (marks[i]&marks[j]) == 0 { // 每个字符串对应的两个 int 执行 & 操作ans = max(ans, len(words[i])*len(words[j]))}}}return ans
}func max(a, b int) int {if a > b {return a}return b
}

这道题使用位运算的关键其实就是两句话:

  1. 我们使用一个 int 的低 26 位来代指字母 a-z 是否出现
  2. 每个字符串对应的两个 int 执行 & 操作,如果两字符无重复字符,则结果为 0

就是从 int 的二进制中拿 26 个位置来表示这个字符串的 26 个字母有没有出现,通过 | 操作标记,再通过 & 操作判断是否存在重复字符。

这里我开局开了一个 1000 的数组,主要是题目样例说有 1000 个字符串,所以我就直接开 1000 了,算是之前打算法竞赛的小习惯吧

至于哈希优化,饶了我吧。。。摆了

结语

没啥可说的,总之能过就行~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/182279.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

飞书开发学习笔记(二)-云文档简单开发练习

飞书开发学习笔记(二)-云文档简单开发练习 一.云文档飞书开发环境API 首先还是进入开放平台 飞书开放平台&#xff1a;https://open.feishu.cn/app?langzh-CN 云文档相关API都在“云文档”目录中&#xff0c;之下又有"云空间",“文档”&#xff0c;“电子表格”&a…

java智能在线考试系统源码 基于SpringBoot+Vue开发

java智能在线考试系统源码 基于SpringBootVue开发 环境介绍 语言环境&#xff1a;Java: jdk1.8 数据库&#xff1a;Mysql: mysql5.7 应用服务器&#xff1a;Tomcat: tomcat8.5.31 开发工具&#xff1a;IDEA或eclipse 开发技术&#xff1a;SpringbootVue 项目简介&…

手拿5份offer,最高18k! 95后艺术生转行后台网优,这个火花有点大!

当艺术生碰上理工科&#xff0c;会有怎样的火花&#xff1f;在大众的刻板认知里&#xff0c;艺术和理工科就像两条很少重合的平行线&#xff0c;双方从业者在自己的行业下按部就班&#xff0c;规划未来。 来自东北长春的W同学却打破了常人的认知&#xff0c;身为美术老师的他却…

观察者模式——解决解耦的钥匙

● 观察者模式介绍 观察者模式是一个使用频率非常高的模式&#xff0c;它最常用的地方是GUI系统、订阅——发布系统。因为这个模式的一个重要作用就是解耦&#xff0c;将被观察者和观察者解耦&#xff0c;使得它们之间依赖性更小&#xff0c;甚至做到毫无依赖。以CUI系统来说&a…

Unisat的核心成员神秘失踪两个月后,CHAX横空出世

在这个快速变化的数字世界中&#xff0c;故事似乎总是在不断上演。最近&#xff0c;一则消息在加密货币社区中引起了轩然大波&#xff1a;Unisat的核心成员神秘失踪两个月后&#xff0c;CHAX横空出世&#xff0c;带来了一股新的风潮。 受够了BRC20-Swap多次难产&#xff0c;落地…

2023年11月5日网规考试备忘

早上题目回忆&#xff1a; pki体系 ipsec&#xff0c;交换安全&#xff08;流量抑制&#xff09; aohdlc bob metclaf —ethernet pon tcp三次握手 OSPF lsa&#xff1f;交换机组ospf配置问题&#xff0c;ping网关可通&#xff0c;AB不通 raid6 300G*8 网络利用率 停等协议10…

VUE多语言i18n配置

1、i18n官网 格式化 | Vue I18n 2、安装i18n 8---指版本号 // vue2必须安装8版本的i18n包&#xff0c;vue3必须安装9版本的i18n包。 npm i vue-i18n8 3、卸载i18n npm uninstall vue-i18n 4、安装 js-cookie npm install vue-cookies --save 5、代码 5.1 main.js /…

ActiveMQ、RabbitMQ、RocketMQ、Kafka介绍

一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字&#xff1a;解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接&#xff0c;推送系统人员信息&#xff0c;通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整&#xff0c;或者推送过…

Java后端开发——JDBC组件

JDBC&#xff08;Java Database Connectivity&#xff09;是Java SE平台的一种标准API&#xff0c;它提供了一种标准的方法来访问关系型数据库&#xff0c;使得Java程序能够与各种不同的数据库进行交互&#xff0c;这篇文章我们来进行实验体验一下。 自定义JDBC连接工具类 1.编…

stm32整理(三)ADC

1 ADC简介 1.1 ADC 简介 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道&#xff0c;可测量来自 16 个外部 源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位…

6款优质办公软件,个个都是效率神器,可免费使用

今天给大家分享6款优质的办公软件&#xff0c;这些软件不仅功能强大&#xff0c;还可以免费使用&#xff0c;让你高效完成工作。 Todo清单——待办事项软件 Todo清单是一款强大的跨平台待办事项和时间管理软件。它可以帮助用户记录、跟踪和完成待办事项。通过创建清单&#xff…

异星工场入门笔记-02-一个重要地学习方法

编程学习地整个过程&#xff0c;最重要的工具就是电脑&#xff0c;其中有一个重点就是可以无成本的重复测试&#xff0c;这大大降低了难度&#xff0c;节约了时间。真正难以学习的不是技术本身&#xff0c;而是材料成本和时间成本&#xff0c;降低这两个因素平地起高楼根本不是…

【MySQL】MVCC机制(undo log,read view)

文章目录 前言一. 预备知识二. 模拟MVCC三. Read View四. RC与RR的本质区别结束语 前言 MVCC&#xff08;多版本并发控制&#xff09;是一种用来解决读-写冲突的无锁并发控制 MVCC为事务分配单向增长的事务ID&#xff0c;为每个修改保存一个版本&#xff0c;版本与事物ID相关联…

关闭 win10自动更新、关闭激活

做工控或者数据大屏、服务器之类的,都不想系统自动更新,不知不觉自动重启类。 激活过了一段时间,又要重新激活这些事情,所以需要手工去关闭这些服务。 一、关闭 win10自动更新 首先打开 服务,找到windows update: window +R 输入:Services.msc 停止windows update ,然…

【实战Flask API项目指南】之一 概述

实战Flask API项目指南之 概述 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握Flask在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 小菜是一个Python编程爱好者&#xff0c;他目前…

3dmax经常渲染失败?优化方法提升渲染质量!

3DMAX是一款专业的三维建模、动画和渲染软件&#xff0c;被广泛应用于影视、游戏、建筑、广告等领域。 而云渲染是一种利用云计算技术&#xff0c;将渲染任务分配到海量的服务器上进行并行计算的服务&#xff0c;能够显著提升渲染效率和质量&#xff0c;节省时间和成本。 使用…

Spring之AOP

动态代理 代理模式的解释&#xff1a;为其他对象提供一种代理以控制对这个对象的访问&#xff0c;增强一个类中的某个方法&#xff0c;对程序进行扩展。 比如&#xff0c;现在存在一个UserService类&#xff1a; public class UserService {public void test() {System.out…

正则表达式续篇

位置锚定&#xff1a; ^:行首锚定&#xff0c;表示以什么为开头 例如&#xff1a; $:行尾锚定&#xff0c;表示以什么为结尾 例如&#xff1a; ^&#xff1a;匹配的是空行 例如&#xff1a; ^root$&#xff1a;匹配整行&#xff0c;而且整行只能有这一个字符串 实验&#x…

第九周实验记录

1、安装Nerfstudio 环境配置 首先需要创建环境python3.8&#xff0c;接着需要安装cuda11.7或11.3 这里安装cuda11.7 pip uninstall torch torchvision functorchpip install torch1.13.1 torchvision functorch --extra-index-url https://download.pytorch.org/whl/cu117安…

浅谈安科瑞电力监控系统在百事亚洲研发中心的应用

摘要&#xff1a;介绍百事亚洲研发中心&#xff0c;采用智能电力仪表、采集配电现场的各种电参量和开关信号。系统采用现场就地组网的方式&#xff0c;组网后通过现场总线通讯并远传至后台&#xff0c;通过Acrel-2000型电力监控系统实现配电所配电回路用电的实时监控和管理。 …