期末
惠菁
我见过大海,看过繁星,但唯独遇见你,是我长久以来,所有奔赴的意义。
展开
-
【Java】523. 连续的子数组和--快速入门,避免时间超时!!!
给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。 示例 1: 输入:nums = [23,2,4,6,7], k = 6 输出:true 解释:[2,4] 是一个大小为 2 的子数组,并且和为 6 。 示例 2: 输入:nums = [2原创 2021-06-02 11:09:24 · 181 阅读 · 0 评论 -
【Java】1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?---时间复杂度O(N),快速解决问题!!!
给你一个下标从 0 开始的正整数数组 candiesCount ,其中 candiesCount[i] 表示你拥有的第 i 类糖果的数目。同时给你一个二维数组 queries ,其中 queries[i] = [favoriteTypei, favoriteDayi, dailyCapi] 。 你按照如下规则进行一场游戏: 你从第 0 天开始吃糖果。 你在吃完 所有 第 i - 1 类糖果之前,不能 吃任何一颗第 i 类糖果。 在吃完所有糖果之前,你必须每天 至少 吃 一颗 糖果。 请你构建一个布尔型数组原创 2021-06-01 15:34:34 · 82 阅读 · 0 评论 -
【java】1787. 使所有区间的异或结果为零---动态规划,遍历解决问题!!!
给你一个整数数组 nums 和一个整数 k 。区间 [left, right](left <= right)的 异或结果 是对下标位于 left 和 right(包括 left 和 right )之间所有元素进行 XOR 运算的结果:nums[left] XOR nums[left+1] XOR … XOR nums[right] 。 返回数组中 要更改的最小元素数 ,以使所有长度为 k 的区间异或结果等于零。 示例 1: 输入:nums = [1,2,0,3,0], k = 1 输出原创 2021-05-25 09:29:18 · 97 阅读 · 0 评论 -
【java】664. 奇怪的打印机---使用深度搜索算法!!!
有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。 示例 1: 输入:s = “aaabbb” 输出:2 解释:首先打印 “aaa” 然后打印 “bbb”。 示例 2: 输入:s = “aba” 输出:2 解释:首先打印 “aaa” 然后在第二个位置打印 “b” 覆盖掉原来的字符 ‘a’。 提示: 1 <= s.length原创 2021-05-24 11:40:59 · 118 阅读 · 0 评论 -
【java】1707. 与数组中元素的最大异或值---使用分叶,贪心算法!!!
给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。 第 i 个查询的答案是 xi 和任何 nums 数组中不超过 mi 的元素按位异或(XOR)得到的最大值。换句话说,答案是 max(nums[j] XOR xi) ,其中所有 j 均满足 nums[j] <= mi 。如果 nums 中的所有元素都大于 mi,最终答案就是 -1 。 返回一个整数数组 answer 作为查询的答案,其中 answer.length == q原创 2021-05-23 09:16:46 · 111 阅读 · 0 评论 -
【Java】205. 同构字符串-----使用map快速解决!!!
给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 输入: s = “egg”, t = “add” 输出: true 示例 2: 输入: s = “foo”, t = “bar” 输出: false 示例 3: 输入: s = “paper”, t = “title” 输出: true 说明: 你可以假设 s 和原创 2020-12-27 08:43:33 · 110 阅读 · 1 评论