
思维
ln2037
用心雕琢我的艺术品。
展开
-
LeetCode 两个链表的第一个公共节点【思维】
输入两个链表,找出它们的第一个公共节点。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 A 中,相交节点前有 2 个节点;在 B原创 2021-06-14 20:29:14 · 84 阅读 · 0 评论 -
LeetCode 334. 递增的三元子序列【思维】
博客开始更新。给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,5]输出:true解释:任何 i < j < k 的三元组都满足题意示例 2:输入:nums = [5,4,3,2,1]输出:fals原创 2021-05-19 09:21:20 · 249 阅读 · 4 评论 -
LeetCode 1052. 爱生气的书店老板【滑动窗口】
今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟不生气,但却只能使用一次。请你返回这一天营业下来,最多有多少客户能够感原创 2021-02-23 05:43:17 · 210 阅读 · 0 评论 -
LeetCode 1438. 绝对差不超过限制的最长连续子数组【STL】
给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。示例 1:输入:nums = [8,2,4,7], limit = 4输出:2解释:所有子数组如下:[8] 最大绝对差 |8-8| = 0 <= 4.[8,2] 最大绝对差 |8-2| = 6 > 4.[8,2,4] 最大绝对差 |8-2| = 6 > 4.[8,2,4,原创 2021-02-22 00:02:20 · 107 阅读 · 0 评论 -
LeetCode 78. 子集【状态压缩】
给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]提示:1 <= nums.length <= 10-10 <= nums[i] <= 10nums 中的所有元素 互不相同原创 2021-02-22 00:00:09 · 100 阅读 · 0 评论 -
LeetCode 89. 格雷编码 【找规律】
格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010 - 211 - 301 - 1示例 2:输入: 0输出原创 2021-02-21 23:57:57 · 205 阅读 · 0 评论 -
LeetCode 16. 最接近的三数之和【双指针】
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <= 10^3-10^3 <= nums[i] <= 10^3-10^4 <= t原创 2021-02-21 23:56:25 · 126 阅读 · 0 评论 -
LeetCode 238. 除自身以外数组的乘积 【思维】
给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不原创 2021-01-31 22:19:34 · 91 阅读 · 0 评论 -
LeetCode 621. 任务调度器 【思维】
给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。你需要计算完成所有任务所需要的 最短时间 。示例 1:输入:tasks = [“A”,“A”,“A”,“B”,“B”,“B”原创 2021-01-31 22:07:21 · 95 阅读 · 0 评论 -
LeetCode 142. 环形链表 II 【思维】
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表节点解释:链表中有一个环,其尾部连接原创 2021-01-24 22:11:49 · 165 阅读 · 0 评论 -
LeetCode 240. 搜索二维矩阵 II 【思维】
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9原创 2021-01-22 23:10:02 · 278 阅读 · 0 评论 -
LeetCode 55. 跳跃游戏 【思维】
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。特判0,判断前边是否有原创 2021-01-22 23:03:33 · 110 阅读 · 0 评论 -
LeetCode 31. 下一个排列 【思维】
实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]示例 4:输入:nums = [1]输出:[1]提示:1 <= nums.len原创 2021-01-21 23:57:06 · 82 阅读 · 0 评论 -
LeetCode 581. 最短无序连续子数组【思维】
给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在 [1, 10,000]。输入的数组可能包含重复元素 ,所以升序的意思是<=。新建一个数组并排序。找出与原数组不相同的第一位和最后一位就行了原创 2020-12-18 15:27:22 · 114 阅读 · 1 评论 -
LeetCode 4. 寻找两个正序数组的中位数 【递归】
给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) /原创 2020-12-16 23:04:38 · 91 阅读 · 0 评论 -
CFrou99 D. Sequence and Swaps 【思维】
You are given a sequence a consisting of n integers a1,a2,…,an, and an integer x. Your task is to make the sequence a sorted (it is considered sorted if the condition a1≤a2≤a3≤⋯≤an holds).To make the sequence sorted, you may perform the following operatio原创 2020-12-14 18:36:31 · 145 阅读 · 0 评论 -
CFrou99 C. Ping-pong 【思维】
Alice and Bob play ping-pong with simplified rules.During the game, the player serving the ball commences a play. The server strikes the ball then the receiver makes a return by hitting the ball back. Thereafter, the server and receiver must alternately m原创 2020-12-14 18:34:54 · 116 阅读 · 0 评论 -
LeetCode1224. 最大相等频率【思维】
给出一个正整数数组 nums,请你帮忙从该数组中找出能满足下面要求的 最长 前缀,并返回其长度:从前缀中 删除一个 元素后,使得所剩下的每个数字的出现次数相同。如果删除这个元素后没有剩余元素存在,仍可认为每个数字都具有相同的出现次数(也就是 0 次)。示例 1:输入:nums = [2,2,1,1,5,3,3,5]输出:7解释:对于长度为 7 的子数组 [2,2,1,1,5,3,3],如果我们从中删去 nums[4]=5,就可以得到 [2,2,1,1,3,3],里面每个数字都出现了两次。示例原创 2020-12-13 18:09:11 · 426 阅读 · 0 评论 -
CFrou687 C. Bouncing Ball 【枚举】
You’re creating a game level for some mobile game. The level should contain some number of cells aligned in a row from left to right and numbered with consecutive integers starting from 1, and in each cell you can either put a platform or leave it empty.I原创 2020-12-02 23:14:50 · 145 阅读 · 0 评论 -
CFrou687 B. Repainting Street【枚举】
There is a street with n houses in a line, numbered from 1 to n. The house i is initially painted in color ci. The street is considered beautiful if all houses are painted in the same color. Tom, the painter, is in charge of making the street beautiful. To原创 2020-12-02 23:11:43 · 186 阅读 · 0 评论 -
CFrou685 C. String Equality【思维】
Ashish has two strings a and b, each of length n, and an integer k. The strings only contain lowercase English letters.He wants to convert string ainto string b by performing some (possibly zero) operations on a.In one move, he can either choose an i原创 2020-12-01 23:11:24 · 172 阅读 · 0 评论 -
CFrou685 B. Non-Substring Subsequence 【思维】
Hr0d1y has qqueries on a binary string s of length n. A binary string is a string containing only characters ‘0’ and ‘1’.A query is described by a pair of integers li, ri (1≤li<ri≤n).For each query, he has to determine whether there exists a good su原创 2020-12-01 23:06:21 · 184 阅读 · 0 评论 -
2018年蓝桥杯C++省赛B组【G:螺旋折线】 【思维】
题目描述如图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?输入X和Y,数据在int范围以内。 输出输出dis(X, Y) 样例输入 Copy0 1样例输出 Copy3#include <iostream>#include <algorithm>原创 2020-10-14 19:34:50 · 140 阅读 · 1 评论 -
2018年蓝桥杯C++省赛B组 【F:递增三元组】 【思维】
题目描述给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1 <= i, j, k <= NAi < Bj < Ck输入第一行包含一个整数N。第二行包含N个整数A1, A2, … AN。第三行包含N个整数B1, B2, … BN。第四行包含N个整数C1, C2, … CN。1 <= N <= 100000 0 <原创 2020-10-14 19:30:19 · 105 阅读 · 0 评论 -
2018年蓝桥杯C++省赛B组 【C:乘积尾零】 【思维】
题目描述如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 43292758 7949 6113 5659 5245 7432 3051 4434 6704 35949937 1173 6866 3397 4759 7557 3070 2287 1453 98991486 5722 3135 1170 4014 5510 5120 729 2880 90192049 698 4582 4346原创 2020-10-14 19:27:58 · 216 阅读 · 0 评论 -
2019年蓝桥杯C++省赛B组 【I:后缀表达式】 【思维】
题目描述给定N 个加号、M 个减号以及N + M + 1 个整数A1,A2,…,AN+M+1小明想知道在所有由这N 个加号、M 个减号以及N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用1 2 3 + -,则“2 3 + 1 -” 这个后缀表达式结果是4,是最大的。输入第一行包含两个整数N 和M。第二行包含N + M + 1 个整数A1,A2,…,AN+M+10<=N,M<=100000,-109<=Ai<=109原创 2020-10-13 19:00:16 · 244 阅读 · 0 评论 -
2019年蓝桥杯C++省赛B组 【H:等差数列】 【思维】
题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中N 个整数。现在给出这N 个整数,小明想知道包含这N 个整数的最短的等差数列有几项?输入输入的第一行包含一个整数N。第二行包含N 个整数A1.A2,…, AN。(注意A1<=AN 并不一定是按等差数列中的顺序给出)2<=N<=100000,0<=Ai<=10^9输出输出一个整数表示答案。 样例输入 Copy52 6 4 10 20样例输出 Copy10提示原创 2020-10-13 18:57:30 · 115 阅读 · 0 评论 -
P1020 导弹拦截 【思维】
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是≤50000 \le 50000≤50000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式111行,若干个整数(个数≤1000原创 2020-10-06 18:24:32 · 93 阅读 · 0 评论 -
P4715 【深基16.例1】淘汰赛 【思维】
题目描述有 2n(n≤7)2^n(n\le7)2n(n≤7) 个国家参加世界杯决赛圈且进入淘汰赛环节。我经知道各个国家的能力值,且都不相等。能力值高的国家和能力值低的国家踢比赛时高者获胜。1 号国家和 2 号国家踢一场比赛,胜者晋级。3 号国家和 4 号国家也踢一场,胜者晋级……晋级后的国家用相同的方法继续完成赛程,直到决出冠军。给出各个国家的能力值,请问亚军是哪个国家?输入格式无输出格式无输入输出样例输入 #134 2 3 1 10 5 9 7输出 #11#include <原创 2020-10-02 18:05:14 · 460 阅读 · 0 评论 -
P3913 车的攻击【思维】
题目描述N×NN \times NN×N 的国际象棋棋盘上有KKK 个车,第iii个车位于第RiR_iRi行,第CiC_iCi 列。求至少被一个车攻击的格子数量。车可以攻击所有同一行或者同一列的地方。输入格式第1 行,2 个整数N,KN,KN,K。接下来K 行,每行2 个整数Ri,CiR_i,C_iRi,Ci。输出格式1 个整数,表示被攻击的格子数量。输入输出样例输入 #13 21 22 2输出 #17说明/提示• 对于30% 的数据,1≤N≤103;1≤K≤1031原创 2020-09-30 20:56:51 · 383 阅读 · 0 评论 -
P2926 [USACO08DEC]Patting Heads S 【思维】
题目描述It’s Bessie’s birthday and time for party games! Bessie has instructed the N (1 <= N <= 100,000) cows conveniently numbered 1…N to sit in a circle (so that cow i [except at the ends] sits next to cows i-1 and i+1; cow N sits next to cow 1). Mean原创 2020-09-28 16:43:13 · 330 阅读 · 0 评论 -
P1496 火烧赤壁 【思维】
题目背景曹操平定北方以后,公元 208 年,率领大军南下,进攻刘表。他的人马还没有到荆州,刘表已经病死。他的儿子刘琮听到曹军声势浩大,吓破了胆,先派人求降了。孙权任命周瑜为都督,拨给他三万水军,叫他同刘备协力抵抗曹操。隆冬的十一月,天气突然回暖,刮起了东南风。没想到东吴船队离开北岸大约二里距离,前面十条大船突然同时起火。火借风势,风助火威。十条火船,好比十条火龙一样,闯进曹军水寨。那里的船舰,都挤在一起,又躲不开,很快地都烧起来。一眨眼工夫,已经烧成一片火海。曹操气急败坏的把你找来,要你钻入火海把原创 2020-09-10 17:55:14 · 640 阅读 · 0 评论 -
J 建设道路
题目描述牛牛国有 nnn 个城市,编号为 1−n1-n1−n,第 iii 个城市有一个价值 aia_iai,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游的时候都计算一遍走哪条路最短,于是他决定在任意两个城市之间建立一条双向道路,在第 iii 座城市和第 jjj 座城市之间建立双向道路的代价是 (ai−aj)2(a_i-a_j)^2(ai−aj)2,牛阔落希望你能算出这项工程的花...原创 2020-04-24 19:11:23 · 256 阅读 · 0 评论 -
100层楼扔两个鸡蛋
两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?问题转化:两个鸡蛋, 扔k次, 最多测试多少层楼?假设第一个鸡蛋从m层扔下, 有两种情况:鸡蛋碎了, 这时只能从1 – m - 1一层一层地实验鸡蛋没碎,...原创 2020-02-06 23:37:52 · 315 阅读 · 0 评论 -
CF 617 C. Yet Another Walking Robot
There is a robot on a coordinate plane. Initially, the robot is located at the point (0,0). Its path is described as a string s of length n consisting of characters ‘L’, ‘R’, ‘U’, ‘D’.Each of these c...原创 2020-02-06 21:33:41 · 223 阅读 · 0 评论 -
螺旋折线
题目描述如图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?输入X和Y,数据在int范围以内。 输出输出dis(X, Y) 样例输入 Copy0 1样例输出 C...原创 2020-02-03 12:16:53 · 251 阅读 · 1 评论 -
CF 615 C Product of Three Numbers
C. Product of Three Numberstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given one integer number n. Find three distinct integ...原创 2020-01-23 00:52:16 · 213 阅读 · 0 评论 -
F Simple Algebra
题目描述Given function f(x,y)=ax2+bxy+cy2f(x, y) = a x^2 + b xy + c y^2f(x,y)=ax2+bxy+cy2, check if f(x,y)≥0f(x, y) \geq 0f(x,y)≥0 holds for all x,y∈Rx, y \in \mathbb{R}x,y∈R.输入描述:The input contains ze...原创 2019-10-05 22:12:56 · 170 阅读 · 0 评论 -
G Parenthesis
Bobo has a balanced parenthesis sequence P=p1p2…pnP = p_1p_2\dots p_nP=p1p2…pn of length nand q questions.The i-th question is whether P remains balanced after paip_{a_i}pai and pbip_{b_i}pbi...原创 2019-10-07 17:18:23 · 242 阅读 · 0 评论 -
A 2016
题目描述给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量:1≤a≤n,1≤b≤m1 \leq a \leq n, 1 \leq b \leq m1≤a≤n,1≤b≤m;a×ba \times ba×b 是 2016 的倍数。输入描述:输入包含不超过 30 组数据。每组数据包含两个整数 n, m (1≤n,m≤1091 \leq n, m \leq 10^91...原创 2019-10-07 21:38:39 · 307 阅读 · 0 评论