首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法与头发
柠檬茶味
创建于2022-02-28
订阅专栏
一些在leetcode、牛客网等一些刷题网站上遇到的眼前一亮的好题目,题目好是好,就是有点费头发
暂无订阅
共22篇文章
创建于2022-02-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
leetcode刷题日记-leetcode刷题日记-71. 简化路径
题目描述: 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。提示...
leetcode刷题日记-71. 简化路径
题目描述: 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可...
leetcode刷题日记-846. 一手顺子
题目描述: Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是 groupSize ,并且由 groupSize 张连续的牌组成。 给你一个整数数组 hand 其中 hand[i] 是写在第 i 张牌,和一个整数 groupSize 。如果她可能重新排...
leetcode刷题日记-1995. 统计特殊四元组
示例: 输入:nums = [1,2,3,6] 输出:1 解释:满足要求的唯一一个四元组是 (0, 1, 2, 3) 因为 1 + 2 + 3 == 6 输入:nums = [3,3,6,4,5] 输出:0 解释:[3,3,6,4,5] 中不存在满足要求的四元组。 由于之前刷...
leetcode刷题日记-472. 连接词
题目描述: 给你一个 不含重复 单词的字符串数组 words ,请你找出并返回 words 中的所有连接词 。 连接词 定义为:一个完全由给定数组中的至少两个较短单词组成的字符串。示例: 输入:words = [“cat”,“cats”,“catsdogcats”,“dog”,“...
Rabin-Karp算法详解和实现(python)
Rabin-Karp算法总的来说,一句话可以概况,就是一种利用对字符串进行哈希(hash)来解决字符串匹配问题的算法。所以该算法的特点就呼之欲出了,如何对字符串进行hash呢? 这里首先对字符串匹配问题做一个简单的概述。 那么最重要的问题来了,如何对字符串进行hash呢...
leetcode刷题日记-825. 适龄的朋友
题目描述: 在社交媒体网站上有 n 个用户。给你一个整数数组 ages ,其中 ages[i] 是第 i 个用户的年龄。 如果下述任意一个条件为真,那么用户 x 将不会向用户 y(x != y)发送好友请求: age[y] <= 0.5 * age[x] + 7 age[y] >...
leetcode刷题日记-1044. 最长重复子串
题目描述: 给你一个字符串 s ,考虑其所有重复子串 :即,s 的连续子串,在 s 中出现 2 次或更多次。这些出现之间可能存在重叠。 返回 任意一个 具有最长长度的重复子串。如果 s 不含重复子串,那么答案为 “” 。示例: 输入:s = “banana” 输出:“ana” 输...
leetcode刷题日记- 重复叠加字符串匹配
给定两个字符串 a 和 b,寻找重复叠加字符串 a 的最小次数,使得字符串 b 成为叠加后的字符串 a 的子串,如果不存在则返回 -1。 注意:字符串 “abc” 重复叠加 0 次是 “”,重复叠加 1 次是 “abc”,重复叠加 2 次是 “abcabc”。示例: -输入:a ...
leetcode刷题日记-供暖器
冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 在加热器的加热半径范围内的每个房屋都可以获得供暖。 现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。 说明:所有供暖器都遵循你...
leetcode刷题日记-喧闹和富有
有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱,以及不同程度的安静值(quietness)。为了方便起见,我们将编号为 x 的人简称为 "person x "。 给你一个数组 richer ,其中 richer[i] = [ai, bi] ...
leetcode刷题日记-课程表 III
这里有 n 门不同的在线课程,按从 1 到 n 编号。给你一个数组 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会 持续 上 durationi 天课,并且必须在不晚于 lastDayi 的时候完成。 你的学期从...
排序算法专题-快速排序
快速排序是冒泡排序算法基础上改进的进阶版排序算法,他使用分治法把一个序列基于一个基准分成两个子序列,比如left均小于基准,right均大于基准,通过再次选择基准对left和right序列进行递归的划分,直到划分的数组长度为1或者0,由于划分依据是在序列中选择一个基准,即每次...
快速幂问题详解
本文讲讲快速幂问题,之前在一篇超级次方的博客简单提到过,链接如下。但是没有深入讲讲,只是简单介绍了一下快速幂的思想。 快速幂的思想是分治,在超级次方一文里面的分治是按不同的位数来进行分治,比如我们要算5234的值,如果我们直接算234个5相乘,计算次数是很多的,是235次,...
leetcode刷题日记-保持城市天际线
在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。 最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天...
leetcode刷题日记-转换成小写字母
题目描述:给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。return s. 那么我为什么还要记下这个题目呢,因为这个题目虽然一句代码就能完成,但是他是基于python自带的字符串函数lower()完成,如果不适用这个函数呢?这样,这个题目...
leetcode刷题日记-在线选举
题目描述:给你两个整数数组 persons 和 times 。在选举中,第 i 张票是在时刻为 times[i] 时投给候选人 persons[i] 的。 对于发生在时刻 t 的每个查询,需要找出在 t 时刻在选举中领先的候选人的编号。 在 t 时刻投出的选票也将被计入我们的查询...
leetcode刷题日记-三个无重叠子数组的最大和
给你一个整数数组 nums 和一个整数 k ,找出三个长度为 k 、互不重叠、且 3 * k 项的和最大的子数组,并返回这三个子数组。 以下标的数组形式返回结果,数组中的每一项分别指示每个子数组的起始位置(下标从 0 开始)。如果有多个结果,返回字典序最小的一个。输入:nums ...
leetcode刷题日记-边界着色
给你一个大小为 m x n 的整数矩阵 grid ,表示一个网格。另给你三个整数 row、col 和 color 。网格中的每个值表示该位置处的网格块的颜色。 当两个网格块的颜色相同,而且在四个方向中任意一个方向上相邻时,它们属于同一 连通分量 。 连通分量的边界 是指连通分量中...
leetcode刷题日记- 超级次方
解析:这是一个看起来很简单,实质上很复杂的题目,前提是如果你知道余数定理和快速幂的话,如果不知道这就是一个很难的题目了。再将余数定理之前,先说一下快速幂,这题就是快速幂+余数定理的结合。先说说快速幂的问题,讲快速幂之前先说一说分治的思想。比如我们要算5234的值,如果我们直接算2...
下一页