每日两题 / 1.两数之和 49.字母异位词分组(leetcode热题100)

1. 两数之和 - 力扣(LeetCode)
image.png

暴力解法: O ( N 2 ) O(N^2) O(N2)遍历数组,找两个数相加为target
O ( N ) O(N) O(N)解法:将所有数排序,并记录这些数的下标,双指针从左右向中间走。指向的两数相加大于target则r–,小于则l++,第一对相等的数即为答案。
当然,用二分、哈希也是可以的,不过时间复杂度为 O ( n l o g n ) O(nlogn) O(nlogn)

贴双指针解法,证明很简单:思考为什么双指针不会移动到两个答案之间?反证一下就出来了

class Solution {typedef pair<int, int> PII;
public:vector<int> twoSum(vector<int>& nums, int target) {vector<int> ans(2);vector<PII> a;for (int i = 0; i < nums.size(); ++ i) {a.push_back({ nums[i], i });}sort(a.begin(), a.end());int l = 0, r = nums.size() - 1;while (l < r) {if (a[l].first + a[r].first > target) {r -- ;}else if (a[l].first + a[r].first < target) {l ++ ;}else {ans[0] = a[l].second, ans[1] = a[r].second;return ans;}}return ans;}
};

49. 字母异位词分组 - 力扣(LeetCode)
image.png

若单词重新排列后,和某个单词相同,则分为一组
可以确定的是,将所有单词中的字符升序排序后,将出现多个相同单词,这些单词作为“字母异位词”分为一组
对于每个单词,将其升序排序,用map记录该单词所位于的组号,若无记录,则作为新组

class Solution {
public:vector<vector<string>> groupAnagrams(vector<string>& strs) {vector<vector<string>> ans;unordered_map<string, int> mp;for (int i = 0; i < strs.size(); ++ i) {string s = strs[i];sort(s.begin(), s.end());if (mp.count(s) == 0) {mp[s] = ans.size();ans.push_back(vector<string>());}ans[mp[s]].push_back(strs[i]);}return ans;}
};

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

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

相关文章

吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.1-4.4

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第四周&#xff1a;深层神经网络(Deep Neural Networks)4.1 深层神经网络&#xff08;Deep L-layer neural network&#xff09;4.2 前向传播和反向传播&#xff08;Forward and backward pro…

vscode 重命名很慢或失败 vscode renames are slow

网上问题&#xff0c; 插件问题&#xff08;我遇见的排除&#xff0c;不是&#xff09;被其他程序占用问题&#xff0c;&#xff08;我这边是这个&#xff09; 解决方案&#xff1a; 打开【资源管理器】&#xff0c;使用火绒 或其他软件&#xff0c;查看文件夹 or 文件 被哪个…

智慧公厕系统3.0有哪些新功能呢

随着科技的不断进步&#xff0c;智慧公厕系统也在不断升级和完善。最新推出的智慧公厕系统3.0&#xff0c;集成了一系列创新功能&#xff0c;为城市公共卫生设施管理带来了全新的体验和便利。让我们一起来看看智慧公厕系统3.0有哪些新功能吧。 1、云端管理平台&#xff1a;智慧…

对CryptoDriver里密钥格式定义的探索(1)

目录 1.前期准备工作 2.开始分析 2.1 公钥的PEM解析 2.2 私钥的PEM解析 3 小结 一入网络安全才发现深似海,传统汽车MCU码农转型之路

家用洗地机哪个牌子好?四大热销机型推荐,值得推荐!

随着科技的进步&#xff0c;洗地机在日常生活中能够帮助人们省时省力地打扫卫生&#xff0c;但市面上出现了各种各样的洗地机&#xff0c;好坏参差不齐&#xff0c;选择一个好品牌的洗地机非常重要&#xff0c;因为它们有着可靠的质量保证。那市面上如此众多的洗地机品牌&#…

8×8点阵数码管显示驱动/大电流数码管驱动IC-VK16K33C SOP20

产品品牌&#xff1a;永嘉微电/VINKA 产品型号&#xff1a;VK16K33C 封装形式&#xff1a;SOP20 概述 VK16K33C是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片&#xff0c;内部集成有数据锁 存器、键盘扫描、LED 驱动模块等电路。数据通过I2C通讯接口与MCU通信。SE…

为什么电脑越用越慢!

电脑随着时间推移逐渐变慢是一个常见的现象,其背后涉及多种原因。以下是导致电脑运行速度变慢的几个主要因素: 系统资源消耗增加 软件更新与新增应用:随着软件版本的更新和新应用程序的安装,它们往往对硬件资源的需求更高,尤其是对处理器、内存和硬盘的要求。这些新软件可…

Java毕业设计 基于SpringBoot vue流浪动物救助网站

Java毕业设计 基于SpringBoot vue流浪动物救助网站 SpringBoot 流浪动物救助网站 功能介绍 首页 图片轮播 动物领养/捐赠 留言 论坛 发布帖子 公告信息 商品信息 添加购物车 立即购买 寻宠请求 购物车 注册登录 个人中心 余额充值 收货地址 动物收藏 动物领养审核 商品订单 …

6AV6643-5CB10-0BN0触摸屏

6AV6643-5CB10-0BN0触摸屏 6AV6643-5CB10-0BN0触摸屏 6AV6643-5CB10-0BN0触摸屏 商品编号(市售编号) 6AV6643-5CB10-0BN0 产品说明 SIMATIC MP 277 8" 触摸屏 多功能面板带剩磁存储器 7.5" TFT 显示屏 6MByte 项目组态存储器 可项目组态&#xff0c;利用 W…

R语言绘图 | 散点小提琴图

原文链接&#xff1a;R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章&#xff0c;这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码&#xff0c;后台回复关键词&#xff1a;20240405 绘图 设置路径 setwd("You…

如何控制台灯的亮度

控制台灯的亮度通常涉及到硬件控制和编程。在硬件方面&#xff0c;台灯通常会有一个可调节的电源电路&#xff0c;通过改变电路的电压或电流来实现亮度的调整。在编程方面&#xff0c;你需要编写代码来发送控制信号给这个电源电路。 以下是一个简化的流程&#xff0c;描述了如何…

lspci 命令不能使用,请安装 pciutils

1、使用 lspci 没有这个命令 lspci-bash: lspci: command not found2、查看下哪个软件包支持 lspci 命令 yum provides lspciLoaded plugins: fastestmirror Loading mirror speeds from cached hostfile docker-ce-stable/7/x86_64/filelists_db …

【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)

目录 题目描述思路及实现方式一&#xff1a;动态规划法思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二&#xff1a;中心扩展法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型)&#xff1a;回文串、动态规划 题目描述 给定一…

Redis入门--头歌实验使用Redis构建自动补全组件

自动补全与输入联想功能已经是大多数网站的标配&#xff0c;给表单加入自动补全功能大大节省了用户输入时间&#xff0c;而输入联想功能则起到了预测用户喜好的作用&#xff0c;两个功能都是提升用户体验的利器。 本实训&#xff0c;我们通过实现搜索历史、自动补全和搜索预测三…

【C++】unordered 系列关联式容器

文章目录 1. unordered 系列关联式容器2. unordered_map2.1 unordered_map 的文档介绍2.2 unordered_map 的接口说明 3. unordered_set4. 在线 OJ 1. unordered 系列关联式容器 在 C 98 中&#xff0c;STL 提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可…

LeetCode-热题100:300. 最长递增子序列

题目描述 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示…

mybatis(4) 代理机制以及小技巧

mybatis 1、 问题2、使用3、#与$3.1 例子3.2什么情况下必须使用${} 4、别名机制5 、Mapper配置6、配置模板文件7、使用自动生成的主键 1、 问题 在上一篇mybtis的web项目中&#xff0c;我们最后有一个问题没有解决&#xff0c;就是dao的实现类&#xff0c;其代码很类似&#x…

Python 正则表达式(re)

&#x1f680; 个人主页&#xff1a;xmp65535 &#x1f680; 专栏&#xff1a;python技术专栏 目录 一、概述 二、基本概念 模式字符串 原始字符串 编译正则表达式 三、正则表达式的基本模式匹配 字符匹配 锚点 量词 四、常用函数 re.match() re.search() re.find…

Mybase 8.x 下载安装试用详细教程(Windows)

一、软件介绍 MyBase是一款本地笔记软件&#xff0c;它能够帮助你管理和组织大量的信息。 二、下载安装 下载&#xff1a;点我去下载页面 Mybase 软件目前主要实现了两种版本&#xff1a;Mybase Desktop (桌面版) 和 Mybase Server (网络版)&#xff1a; 桌面版软件运行于 …

零售行业数字化广告评价标准 - 《IAB/MRC零售(广告)测量指南》

IAB/MRC零售&#xff08;广告&#xff09;测量指南 --- 最新标准&#xff0c;2024年1月发布 目录 1出台此标准的目的是什么&#xff1f;2标准宗旨3本标准的主要关键领域4为什么这对品牌和零售商很重要5能给零售媒体中小型玩家带来什么机会&#xff1f;6评价零售媒体效果的最…