这道题目初接触时,我能想到的只是穷举,但提交时超出时间限制。直到看到题解中的双指针法,不自觉感叹牛比。这是官方题解中给的说明:
从上一篇上榜了....发文一来,LeetCode-Master开始有大量的代码合入请求。
有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。
https://leetcode-cn.com/problems/unique-number-of-occurrences/
直接将数组转化为集合,然后遍历一次链表。令 ans = 0,flag = True:
https://leetcode-cn.com/problems/number-of-boomerangs/
昨天看过了简单题汇聚的深度优先搜索专题,今天来体验下简单级别的广度优先搜索专题。老样子,先熟悉下术语概念:
https://leetcode-cn.com/problems/group-the-people-given-the-group-size-they-belong-to/
https://leetcode-cn.com/problems/words-frequency-lcci/
这个是在边学习算法的时候正好也去LeetCode进行每日一题的研究,没想到自己做的算法第一题就是这个,正好也可以拿出来说,因为这个是前面《实战|OpenCV结合A*算法实现简单的运动路径规划》《实战|JPS跳点寻路实现运行路径规划》这两个算法中非常简单的版本,话不多说,直接开始吧。
1. 遍历每一个结点,如果某结点是陆地且未访问过,岛数目加1,修改未访问标志位,然后把该点放入队列中,以备扩展岛屿使用,进入2 2. 队列不为空时,取出点,然后尝试对其上下左右的四个点进行扩展,如果其邻点是陆地且未访问过,则修改标志位并入队列.第2步运行结束时一个新岛的扩展结束,回到1. 3. 1中提到的遍历结束时,程序结束.
笔者最早接触滑动窗口是滑动窗口协议,滑动窗口协议(Sliding Window Protocol),属于 TCP 协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。发送方和接收方分别有一个窗口大小 w1 和 w2。窗口大小可能会根据网络流量的变化而有所不同,但是在更简单的实现中它们是固定的。窗口大小必须大于零才能进行任何操作。
https://leetcode-cn.com/problems/assign-cookies/
https://leetcode-cn.com/problems/count-and-say/
同样的代码在LeetCode上提交,在 python3解释器 下报错,换成 python2解释器 下却好好的:
https://leetcode-cn.com/problems/non-overlapping-intervals/
学 Python 也有一段时间了,一直维持在入门阶段,最近想集中精力精进下编码能力,所以把刷题当作一个练习,也看看自己能坚持几道题。
还在自己吭哧吭哧打算法平台Leetcode的周赛?为什么不试试神奇的ChatGPT类AI呢!
给你一个 下标从 0 开始 的整数数组 candies 。数组中的每个元素表示大小为 candies[i] 的一堆糖果。你可以将每堆糖果分成任意数量的 子堆 ,但 无法 再将两堆合并到一起。
今天刷的是一道关于链表操作的简单题目,一道关于括号的中等难度题目。可见链表、括号类题目还是频繁出现的,可以有针对性地练习下。
首先可以想到用回溯法 BFS 求解,如 nums = [0,2,5],使用回溯法可以依次得到 [0]、[0,2]、[0,2,5]、[0,5]、[2]、[2,5]、[5]
给你一个下标从 0 开始的整数数组 tasks ,其中 tasks[i] 表示任务的难度级别。
今天的任务首先要回顾下昨天刷的 LeetCode 第十题,同时,也想做一番尝试:把刷题笔记写的更丰富、可读性更强些,同时也整理些算法上的总结,以此锻炼下自己整理、输出能力。
正数三码相同,负数的反码才会除了首位符号位不变、其余位取反。位运算都是基于数字的补码来进行运算的。
今天迎来了个简单难度的题目,在经历一番中等难度题目的洗礼后,情不自禁露出吊打小朋友的微笑,感觉今天可以多做几道。
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
https://leetcode-cn.com/problems/binary-watch/
这道题是给一个非负整数数组和整数 k,判断数组是否含有连续子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。
现有编号从 0 到 n - 1 的 n 个背包。 给你两个下标从 0 开始的整数数组 capacity 和 rocks 。 第 i 个背包最大可以装 capacity[i] 块石头,当前已经装了 rocks[i] 块石头。 另给你一个整数 additionalRocks ,表示你可以放置的额外石头数量,石头可以往 任意 背包中放置。
https://leetcode-cn.com/problems/minimum-window-substring/
给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/robot-return-to-origin
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。(即逐层地,从左到右访问所有节点)。
今天这题目很有趣,困难级别,但被我一脸懵逼、试着试着就给搞定了。当然,我是忽略了其中的关键要求,没有办法,带上这个要求我暂时还搞不定,先浑水摸鱼下吧。
https://leetcode-cn.com/problems/license-key-formatting/
本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
1、先计算链表长度 size,k = k % size,如果 k % size == 0,则不用移动,直接返回 head; 2、否则,需要将前 size - k 个结点移动到后面。因此只需要循环 size - k 次,找到新链表头部,然后进行指针的交换。最后返回新链表头即可。
https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/
实际上,这道题和 贪心算法之活动安排问题 很类似,贪心策略应该是每次选取结束时间最早的活动。直观上也很好理解,按这种方法选择相容活动为没有安排的活动留下尽可能多的时间。这也是把各项活动按照结束时间单调递增排序的原因。
1.题目 Every email consists of a local name and a domain name, separated by the @ sign.
给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。
我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。
https://leetcode-cn.com/problems/number-of-students-unable-to-eat-lunch/
https://leetcode-cn.com/problems/number-complement/
https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/
题目地址(4K/">剑指 Offer II 004. 只出现一次的数字 ) https://leetcode-cn.com/problems/WGki4K/ 题目描述 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例 1: 输入:nums = [2,2,3,2] 输出:3 示例 2: 输入:nums = [0,1,0,1,0,1,100] 输出:100 提示: 1 <= nums.length <
给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。
在给定的二维二进制数组 A 中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。)
https://leetcode-cn.com/problems/rotate-matrix-lcci/
领取专属 10元无门槛券
手把手带您无忧上云