
c++
歌古道
这个作者很懒,什么都没留下…
展开
-
Leetcode 127. 单词接龙 BFS
127. 单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWor...原创 2020-03-01 20:32:23 · 329 阅读 · 0 评论 -
Leetcode 212. 单词搜索 II
212. 单词搜索 II给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入:words = [“oath”,“pea”,“eat”,“rain”] and board ...原创 2020-02-28 17:28:05 · 328 阅读 · 0 评论 -
Leetcode 315. 计算右侧小于当前元素的个数
315. 计算右侧小于当前元素的个数给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入: [5,2,6,1]输出: [2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2 和 1).2 的右侧仅有 1 个更小的元素 (1).6 的右侧有...原创 2020-02-18 21:06:22 · 338 阅读 · 0 评论 -
回溯算法 Leetcode 学习
在昨天做了 78. 子集看了答案之后,做一些练习。39. 组合总和解答原创 2020-02-06 12:56:10 · 284 阅读 · 0 评论 -
Leetcode 1341. 方阵中战斗力最弱的 K 行
1341. 方阵中战斗力最弱的 K 行给你一个大小为 m * n 的方阵 mat,方阵由若干军人和平民组成,分别用 0 和 1 表示。请你返回方阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。...原创 2020-02-03 12:35:30 · 267 阅读 · 0 评论 -
Leetcode 508. 出现次数最多的子树元素和
Leetcode 508. 出现次数最多的子树元素和给出二叉树的根,找出出现次数最多的子树元素和。一个结点的子树元素和定义为以该结点为根的二叉树上所有结点的元素之和(包括结点本身)。然后求出出现次数最多的子树元素和。如果有多个元素出现的次数相同,返回所有出现次数最多的元素(不限顺序)。示例 1输入:5/ 2 -3返回 [2, -3, 4],所有的值均只出现一次,以任意顺序返回所...原创 2020-02-02 17:52:28 · 348 阅读 · 0 评论 -
Leetcode 665. 非递减数列 665. Non-decreasing Array
给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。示例 1:输入: [4,2,3]输出: True解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输...原创 2019-11-08 21:13:49 · 195 阅读 · 0 评论 -
Leetcode 643. 子数组最大平均数 I 643. Maximum Average Subarray I
解答 C++ 滑动窗口原创 2019-10-29 23:42:39 · 265 阅读 · 0 评论 -
Leetcode 1030. 距离顺序排列矩阵单元格 1030. Matrix Cells in Distance Order
1030. 距离顺序排列矩阵单元格给出 R 行 C 列的矩阵,其中的单元格的整数坐标为 (r, c),满足 0 <= r < R 且 0 <= c < C。另外,我们在该矩阵中给出了一个坐标为 (r0, c0) 的单元格。返回矩阵中的所有单元格的坐标,并按到 (r0, c0) 的距离从最小到最大的顺序排,其中,两单元格(r1, c1) 和 (r2, c2) 之间的距离...原创 2019-05-28 21:30:18 · 296 阅读 · 0 评论 -
Leetcode 1005. K 次取反后最大化的数组和 1005. Maximize Sum Of Array After K Negations
1005. K 次取反后最大化的数组和给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。)以这种方式修改数组后,返回数组可能的最大和。示例 1:输入:A = [4,2,3], K = 1输出:5解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。示例...原创 2019-06-05 12:07:46 · 206 阅读 · 0 评论 -
234. 回文链表 234. Palindrome Linked List
234. 回文链表请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?因为上述要求,就参考了一下评论主要需要记住 nullptr (C++中空指针类型的关键字)、快慢指针、反转链表/** * Defini...原创 2019-05-16 16:05:43 · 258 阅读 · 0 评论 -
Leetcode 459. 重复的子字符串 Repeated Substring Pattern
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: “abab”输出: True解释: 可由子字符串 “ab” 重复两次构成。示例 2:输入: “aba”输出: False示例 3:输入: “abcabcabcabc”输出: True解释: 可由子字符串 “abc” 重复四次构成。 (或者...原创 2019-09-07 01:08:34 · 240 阅读 · 0 评论 -
Leetcode 506. 相对名次 506. Relative Ranks
506. 相对名次给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: [“Gold Medal”, “Silver Medal”...原创 2019-05-24 19:14:12 · 327 阅读 · 0 评论 -
Leetcode 830. 较大分组的位置 830. Positions of Large Groups
830. 较大分组的位置在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 S = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。我们称所有包含大于或等于三个连续字符的分组为较大分组。找到每一个较大分组的起始和终止位置。最终结果按照字典顺序输出。示例 1:输入: “abbxxxx...原创 2019-05-29 21:51:22 · 183 阅读 · 0 评论 -
Leetcode 661. 图片平滑器661. Image Smoother
661. 图片平滑器包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。示例 1:输入:[[1,1,1],[1,0,1],[1,1,1]]输出:[[0, 0, 0],[0, 0, 0],[0, 0, 0]]解释:对...原创 2019-07-02 22:28:42 · 325 阅读 · 0 评论 -
Leetcode 697. 数组的度 697. Degree of an Array
`给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入: [1, 2, 2, 3, 1]输出: 2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, ...原创 2019-06-27 23:34:43 · 154 阅读 · 0 评论 -
Leetcode c++ 1114. 按序打印 1114. Print in Order
1114. 按序打印我们提供了一个类:public class Foo {public void one() { print(“one”); }public void two() { print(“two”); }public void three() { print(“three”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B ...原创 2019-07-28 10:40:39 · 746 阅读 · 0 评论 -
Leetcode 1170. 比较字符串最小字母出现频次 1170. Compare Strings by Frequency of the Smallest Character
1170. 比较字符串最小字母出现频次我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。例如,若 s = “dcce”,那么 f(s) = 2,因为最小的字母是 “c”,它出现了 2 次。现在,给你两个字符串数组待查表 queries 和词汇表 words,请你返回一个整数数组 answer 作为答案,其中每个 ...原创 2019-09-19 22:48:31 · 342 阅读 · 0 评论 -
leetcode 竞赛 LCP 2. 分式化简 LCP 2. Deep Dark Fraction
有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为1。示例 1:输入:cont = [3, 2, 0, 2]输出:[13, 4]解释:原连分数...原创 2019-10-03 15:48:45 · 786 阅读 · 0 评论 -
Sign In and Sign Out (25)
At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in’s and out’s, you原创 2018-01-19 22:14:46 · 218 阅读 · 0 评论 -
Leetcode 414. 第三大的数 414. Third Maximum Number
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一...原创 2019-05-07 22:16:23 · 381 阅读 · 0 评论 -
Leetcode 409. 最长回文串 409. Longest Palindrome
409. 最长回文串给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。执行用时 : 4 ms, 在Longest Pa...原创 2019-05-15 12:14:23 · 311 阅读 · 0 评论 -
Leetcode 892. 三维形体的表面积 892. Surface Area of 3D Shapes
892. 三维形体的表面积在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。返回结果形体的总表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[[1...原创 2019-04-20 16:15:35 · 309 阅读 · 0 评论 -
Leetcode 463. 岛屿的周长 Island Perimeter
给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例 :...原创 2019-03-26 21:53:12 · 366 阅读 · 0 评论 -
leetcode 811 子域名访问计数/Subdomain Visit Count
简单类别不打算写博客的,结果这个题用C++真的很难受。可能是我忘了一些操作,先把难受的我记下来。。。。。一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名...原创 2019-03-21 23:44:49 · 326 阅读 · 2 评论 -
PAT 甲级 A1055
The World’s Richest (25)时间限制 400 ms 内存限制 128000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Forbes magazine publishes every year its list of billionaires based on the annual ranking of t原创 2018-01-30 11:35:16 · 213 阅读 · 0 评论 -
HelloWorldForU
题目描述: Given any string of N (>=5) characters, you are asked to form the characters into the shape of U. For example, “helloworld” can be printed as: h d e l l r lowoThat is, the cha原创 2018-01-20 00:53:40 · 603 阅读 · 0 评论 -
PAT Basic 1010. 一元多项式求导 (25)
设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例: 3 4 -5 2 6 1 -2 0 输出样例: 12 3 -10 1 6 0别人的代码#include #include原创 2018-01-19 03:06:17 · 187 阅读 · 0 评论 -
文章标题
问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 .._._.._.._…_.. ././.||...|..../._.. |.|…___.|.|).|.|).|.|.|.| |.|.).|.._/|...<|.|_|.| .____|_/||…||.转载 2017-09-17 02:39:54 · 250 阅读 · 0 评论 -
头文件 <bits/stdc++.h>
#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include <string> #include <cstring>原创 2017-09-16 21:53:27 · 323 阅读 · 0 评论 -
ccf数字排序
试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。 输出格式 输出多行,原创 2017-09-13 16:28:37 · 419 阅读 · 0 评论 -
Leetcode 38. 报数 38. Count and Say
Leetcode 38. 报数报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”)...原创 2019-03-28 12:22:19 · 236 阅读 · 0 评论 -
Leetcode动态规划 121. 买卖股票的最佳时机(121. Best Time to Buy and Sell Stock) 53. 最大子序和(Maximum Subarray)
121. 买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-...原创 2019-03-28 18:09:26 · 154 阅读 · 0 评论 -
Leetcode 914. 卡牌分组 914. X of a Kind in a Deck of Cards
914. 卡牌分组给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:...原创 2019-04-20 14:37:42 · 302 阅读 · 0 评论 -
Leetcode 791. 自定义字符串排序 791. Custom Sort String
791. 自定义字符串排序字符串S和 T 只包含小写字符。在S中,所有字符只会出现一次。S 已经根据某种规则进行了排序。我们要根据S中的字符顺序对T进行排序。更具体地说,如果S中x在y之前出现,那么返回的字符串中x也应出现在y之前。返回任意一种符合条件的字符串T。示例:输入:S = “cba”T = “abcd”输出: “cbad”解释:S中出现了字符 “a”, “b”, “c...原创 2019-04-20 12:45:10 · 254 阅读 · 0 评论 -
Leetcode 788. 旋转数字 788. Rotated Digits
788. 旋转数字我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方;6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。现在我们有一个正整数 ...原创 2019-04-18 17:41:05 · 324 阅读 · 0 评论 -
Leetcode 748. 最短完整词 748. Shortest Completing Word
748. 最短完整词如果单词列表(words)中的一个单词包含牌照(licensePlate)中所有的字母,那么我们称之为完整词。在所有完整词中,最短的单词我们称之为最短完整词。单词在匹配牌照中的字母时不区分大小写,比如牌照中的 “P” 依然可以匹配单词中的 “p” 字母。我们保证一定存在一个最短完整词。当有多个单词都符合最短完整词的匹配条件时取单词列表中最靠前的一个。牌照中可能包含多个相...原创 2019-04-20 20:18:19 · 266 阅读 · 0 评论 -
Leetcode 290. 单词模式 290. Word Pattern
290. 单词模式给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “a...原创 2019-04-12 22:50:32 · 228 阅读 · 0 评论 -
Leetcode 283. Move Zeroes 283. 移动零 27. 移除元素27. Remove Element
27. 移除元素给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums ...原创 2019-04-11 22:04:19 · 163 阅读 · 0 评论 -
Leetcode 989. 数组形式的整数加法 989. Add to Array-Form of Integer
989. 数组形式的整数加法对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234解释 2:输入:A = [2...原创 2019-04-02 12:44:47 · 335 阅读 · 0 评论