网易首页 > 网易号 > 正文 申请入驻

数字马力毁意向,应届生欲哭无泪。。。

0
分享至

专栏:50多种数据结构彻底征服

专栏:50多种经典图论算法全部掌握

最近关于数字马力毁意向这件事在牛客网频频出现,原因就是数字马力发出的offer接受率高于预期,导致剩余缺口不多。那些OC过的可能收不到offer了,OC是什么意思呢?Offer Call简称OC,当面试官决定录用求职者后,HR会通过电话联系的方式询问求职者是否接受Offer,口头的形式,不是正式的书面offer。

虽然不是书面offer,但你之前Offer Call的时候给别人说打算录用你了,准备给你发offer了,而现在突然又不发了,这就叫毁意向。我们知道如果发了书面offer在返回是违法的,但这种口头承诺的offer,后面又不发了,到底违不违法?不管违不违法,反正是不得人心的。

--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第318题:最大单词长度乘积。

问题描述

来源:LeetCode第318题

难度:中等

给你一个字符串数组 words ,找出并返回 length(words[i]) * length(words[j]) 的最大值,并且这两个单词不含有公共字母。如果不存在这样的两个单词,返回 0 。

示例1:


输入:words = ["abcw","baz","foo","bar","xtfn","abcdef"] 输出:16 解释:这两个单词为 "abcw", "xtfn"。

示例2:


输入:words = ["a","ab","abc","d","cd","bcd","abcd"] 输出:4 解释:这两个单词为 "ab", "cd"。

  • 2 <= words.length <= 1000

  • 1 <= words[i].length <= 1000

  • words[i] 仅包含小写字母

问题分析

这题是让找出两个单词长度的最大乘积,并且这两个单词不能有公共的字母。计算单词长度的乘积比较简单,这里的关键点是怎么判断两个字符串是否有公共的字母。

因为提示中说了字符串仅包含小写字母,小写字母总共有26个,所以我们可以使用位运算来判断。对于每一个字符串都可以使用一个int类型的数字来标记,从右往左第一位是 a,第二位是 b ……,出现了哪个字母就在相应的位置标记为 1 。

如果两个数字通过与运算(&)结果为 0 ,说明这两个字符串没有公共的字母,可以计算它两长度的乘积,最后只需要保留最大乘积即可。

JAVA:

public int maxProduct(String[] words) {     int length = words.length;     // 记录每个字符串中有哪些字母     int[] bits = new int[length];     int ans = 0;     for (int i = 0; i < length; i++) {         // 标记当前字符串有哪些字母         for (char ch : words[i].toCharArray())             bits[i] |= 1 << (ch - 'a');         // 如果当前字符串和之前的字符串没有公共的字母,就计算他们的         // 乘积,保留最大值即可。         for (int j = 0; j < i; j++) {             // 如果结果为0,表示他们没有公共的字母             if ((bits[i] & bits[j]) == 0)                 ans = Math.max(ans, (words[i].length() * words[j].length()));         }     }     return ans; }

C++:

public:     int maxProduct(vector

  &words) {         int length = words.size();         // 记录每个字符串中有哪些字母         vector

  bits(length);         int ans = 0;         for (int i = 0; i < length; i++) {             // 标记当前字符串有哪些字母             for (char &ch: words[i])                 bits[i] |= 1 << (ch - 'a');             // 如果当前字符串和之前的字符串没有公共的字母,就计算他们的             // 乘积,保留最大值即可。             for (int j = 0; j < i; j++) {                 // 如果结果为0,表示他们没有公共的字母                 if ((bits[i] & bits[j]) == 0)                     ans = max(ans, int(words[i].size() * words[j].size()));             }         }         return ans;     }


Python:

def maxProduct(self, words: List[str]) -> int:     length = len(words)     # 记录每个字符串中有哪些字母     bits = [0] * length     ans = 0     for i in range(0, length):         # 标记当前字符串有哪些字母         for ch in words[i]:             bits[i] |= 1 << (ord(ch) - ord('a'))         # 如果当前字符串和之前的字符串没有公共的字母,就计算他们的         # 乘积,保留最大值即可。         for j in range(0, i):             # 如果结果为0,表示他们没有公共的字母             if (bits[i] & bits[j]) == 0:                 ans = max(ans, len(words[i]) * len(words[j]))     return ans

笔者简介

博哥,真名:王一博,毕业十多年, 作者,专注于 数据结构和算法 的讲解,在全球30多个算法网站中累计做题2000多道,在公众号中写算法题解800多题,对算法题有自己独特的解题思路和解题技巧,喜欢的可以给个关注,也可以 下载我整理的1000多页的PDF算法文档 。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
青海一监委人员辱骂当事人家属不构成侵权?免罪金牌让人不寒而栗

青海一监委人员辱骂当事人家属不构成侵权?免罪金牌让人不寒而栗

空瓶子
2026-05-25 22:57:37
美国副总统万斯或放弃2028年的美国总统竞选,接近特朗普的消息人士:“万斯在白宫中毫无存在感,鲁比奥比他更有魔力”

美国副总统万斯或放弃2028年的美国总统竞选,接近特朗普的消息人士:“万斯在白宫中毫无存在感,鲁比奥比他更有魔力”

极目新闻
2026-05-26 13:06:23
无人车遇水则瘫?Waymo大规模召回,叫停多城Robotaxi服务

无人车遇水则瘫?Waymo大规模召回,叫停多城Robotaxi服务

智能车参考
2026-05-25 16:46:29
这个发达的小国家,快被中国人“买”下了!中国移民占比高达九成

这个发达的小国家,快被中国人“买”下了!中国移民占比高达九成

潇湘烟雨水
2026-05-26 06:09:18
中国本想在沙漠种麦保粮食,结果却意外发现“治沙密码”,专家都看傻了

中国本想在沙漠种麦保粮食,结果却意外发现“治沙密码”,专家都看傻了

起喜电影
2026-05-26 07:44:23
雪碧再次被关注!医生发现:高血压者喝雪碧,不用多久或有6变化

雪碧再次被关注!医生发现:高血压者喝雪碧,不用多久或有6变化

健身狂人
2026-05-26 17:20:58
大润发创始人、北京大学光华管理学院创始董事长尹衍樑去世

大润发创始人、北京大学光华管理学院创始董事长尹衍樑去世

澎湃新闻
2026-05-26 16:24:14
CBA重磅!首钢续约陈盈骏,冠军主帅杨鸣确定签约,下家浮出水面

CBA重磅!首钢续约陈盈骏,冠军主帅杨鸣确定签约,下家浮出水面

凡知
2026-05-26 16:37:45
请做好准备,要变天了!

请做好准备,要变天了!

喽哥
2026-05-24 20:03:14
安妮·海瑟薇自曝左眼有10年基本看不见:我的左眼已经算是盲人

安妮·海瑟薇自曝左眼有10年基本看不见:我的左眼已经算是盲人

韩小娱
2026-05-25 20:26:53
刚刚 | 盒马道歉:全部下架!

刚刚 | 盒马道歉:全部下架!

天津广播
2026-05-25 22:54:46
北极"尸体点"正在融化:数百年前的水手遗骨暴露于世

北极"尸体点"正在融化:数百年前的水手遗骨暴露于世

闪存猎手
2026-05-25 04:36:07
去了一趟印度,鲁比奥彻底服了,就凭一点,印度永远无法成为中国

去了一趟印度,鲁比奥彻底服了,就凭一点,印度永远无法成为中国

叹为观止易
2026-05-26 03:08:57
不扒不知道!沈月身份不简单,还给内娱上了一堂“危机公关”课

不扒不知道!沈月身份不简单,还给内娱上了一堂“危机公关”课

科学发掘
2026-05-26 14:43:40
弘一法师:永远不要去责怪你生命里的任何人,好的人给你快乐,坏的人给你经历,别人怎么对你,是过往,你怎么对别人,是修行

弘一法师:永远不要去责怪你生命里的任何人,好的人给你快乐,坏的人给你经历,别人怎么对你,是过往,你怎么对别人,是修行

每日一首古诗词
2026-05-26 12:07:58
中国走得太及时!8500亿美债无人接盘,美国借新还旧玩砸了!

中国走得太及时!8500亿美债无人接盘,美国借新还旧玩砸了!

陈腕特色体育解说
2026-05-26 08:13:24
男子突然性情大变,频繁开低俗玩笑、丢三落四…医生:感染梅毒

男子突然性情大变,频繁开低俗玩笑、丢三落四…医生:感染梅毒

大风新闻
2026-05-26 15:02:10
每瓶仅含0.01克,喝几千瓶才抵一个桃!“饮料一哥”也翻车了?杭州多家超市在售,你可能也喝过

每瓶仅含0.01克,喝几千瓶才抵一个桃!“饮料一哥”也翻车了?杭州多家超市在售,你可能也喝过

都市快报橙柿互动
2026-05-24 20:48:16
上海市奉贤区一栋独栋大别墅295万拍卖,被房东408万又买下来

上海市奉贤区一栋独栋大别墅295万拍卖,被房东408万又买下来

天天话事
2026-05-26 09:41:31
男乒夺冠的最大功臣既不是梁靖崑,也不是兜底的王楚钦,而是王皓

男乒夺冠的最大功臣既不是梁靖崑,也不是兜底的王楚钦,而是王皓

鸿印百合
2026-05-26 15:48:10
2026-05-26 19:15:00
数据结构和算法
数据结构和算法
专门介绍和写算法题解的号
273文章数 4关注度
往期回顾 全部

头条要闻

25岁海归男恋上32岁离异女 因88.8万彩礼闹掰追讨12万

头条要闻

25岁海归男恋上32岁离异女 因88.8万彩礼闹掰追讨12万

体育要闻

上赛季差点降入英甲,下赛季要踢英超了

娱乐要闻

台媒贴脸!S妈被问大S嗑药当场沉默

财经要闻

中国铝行业爆单 下一个“煤炭”大周期?

科技要闻

中国AI要向外卷,而不只是做第二个OpenAI

汽车要闻

涉水加强 福特烈马亚马逊限量版上市 售价39.98万

态度原创

旅游
健康
时尚
家居
手机

旅游要闻

漫步虎山公园 邂逅泰安初夏的温柔

外泌体抗衰,什么时候能用上?

全网刷屏,华语乐坛“嫡长女”终于来了!

家居要闻

生与命相依 旧公寓改造

手机要闻

2nm天玑之王稳了!vivo X500系列参数偷跑:全球首发天玑9600 Pro

无障碍浏览 进入关怀版