自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(270)
  • 收藏
  • 关注

原创 【leetcode】解题日记(未完待续)

开坑,有生之年系列,希望有一天能解出 leetcode 上的所有题目。【leetcode】8. 字符串转换整数(atoi)(模拟)【leetcode】136. 只出现一次的数字(Single Number)(位运算)【leetcode】114. 二叉树展开为链表(Flatten Binary Tree to Linked List)(DFS)...

2019-12-07 16:47:08 299 2

转载 【Markdown】希腊字母表

大写小写中文名英文英语音标注音大写Markdown小写Markdown意义AAAα\alphaα阿尔法Alpha/'ælfə/A\alpha角度、系数、角加速度、第一个、电离度、转化率BBBβ\betaβ贝塔/毕塔Beta/'bi:tə/ 或 /'beɪtə/B\beta磁通系数、角度、系数Γ\GammaΓγ\gammaγ...

2019-08-18 21:57:54 2556 1

原创 【数据结构】排序算法

#include <bits/stdc++.h>using namespace std;//不稳定: 快排、堆排、选择、希尔template<typename T, int n>// 1、冒泡排序(Bubble Sort)时间复杂度 O(n^2) 空间复杂度 O(1)void BubbleSort(T (&arr)[n]) { for (int i ...

2019-08-07 20:51:31 119

原创 【python】Notebook

类似C语言的条件运算符?:语法:c = a if a>b else b //如果a>b返回a,否则返回b

2019-05-13 23:37:02 132

原创 【ACM】编程笔记

编程笔记编译错误Windows下GCC编译环境中文乱码Java中编译错误: 编码GBK的不可映射字符JavaJava中 String 和 Integer 的相互转换C/C++C++ 中 int 和 string 的相互转换cin cout 加速C/C++快速读写编译错误Windows下GCC编译环境中文乱码原因: Windows(中文)默认的字...

2018-11-12 22:29:15 108

原创 【Java】程序设计竞赛(Java 方向)

Java高精度头文件import java.io.*;import java.math.*;import java.util.*;import java.text.*;输入:Scanner in = new Scanner (new BufferedInputStream(System.in)); // 加Buffer可能会快一些while(in.hasNext()) /...

2018-10-29 22:46:08 308

原创 【Linux】安装 ftp 共享文件

CONTENT安装 ftp 服务编辑配置文件重新启动 ftp 服务WIN10 添加网络驱动器安装 ftp 服务sudo apt-get install vsftpd编辑配置文件sudo vi /etc/vsftpd.conf暂不改动重新启动 ftp 服务sudo service vsftpd restartWIN10 添加网络驱动器ftp://xx.xx.xx.xx...

2021-04-01 13:55:23 30

原创 【Linux】bert-base-cased 不在缓存需要从 s3 上下载的问题

手动下载,更名。位置/home/xxxx/.cache/torch/pytorch_transformers模型名文件名同名 json 文件内容下载地址bert-base-cased35d8b9d36faaf46728a0192d82bf7d00137490cd6074e8500778afed552a67e5.3fadbea36527ae472139fe84cddaa65454d7429f12d543d80bfc3ad70de55ac2{“url”: “https://

2021-03-28 21:58:26 38

原创 【leetcode】73. 矩阵置零(set-matrix-zeroes)(模拟)[中等]

链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:33 min题解:18 min题意给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?提示:

2021-03-21 11:19:15 22

原创 【leetcode】150. 逆波兰表达式求值(evaluate-reverse-polish-notation)(栈)[中等]

链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:10 min题解:5 min题意根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。提示:1 <= tokens.length <= 10410^4104to

2021-03-20 14:02:09 17

原创 【leetcode】1603. 设计停车系统(design-parking-system)(模拟)[简单]

链接https://leetcode-cn.com/problems/design-parking-system/耗时解题:6 min题解:2 min题意请你给一个停车场设计一个停车系统。停车场总共有三种不同大小的车位:大,中和小,每种尺寸分别有固定数目的车位。请你实现 ParkingSystem 类:ParkingSystem(int big, int medium, int small) 初始化 ParkingSystem 类,三个参数分别对应每种停车位的数目。bool addCar

2021-03-19 16:21:23 35

原创 【leetcode】92. 反转链表 II(reverse-linked-list-ii)(模拟)[中等]

链接https://leetcode-cn.com/problems/reverse-linked-list-ii/耗时解题:1 h 12 min题解:8 min题意反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。思路设置一个翻转起始节点之前的节点 left_before,一个翻转结束节点之后的节点 right_next,不断的将当前 left 节点的下一个节点放到 left_before 之后,直到遇到 right_next。时间复

2021-03-18 11:22:04 14

原创 【leetcode】115. 不同的子序列(distinct-subsequences)(DP)[困难]

链接https://leetcode-cn.com/problems/distinct-subsequences/耗时解题:36 min题解:53 min题意给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。提示:0 <= s.l

2021-03-17 16:28:33 26

原创 【leetcode】59. 螺旋矩阵 II(spiral-matrix-ii)(模拟)[中等]

链接https://leetcode-cn.com/problems/spiral-matrix-ii/耗时解题:7 min题解:11 min题意给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。提示:1 <= n <= 20思路和 【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等] 的思路完全相同,两题的区别基本只有把 54 的输入变成的输出,然后矩阵还简化成

2021-03-16 09:03:31 20

原创 【leetcode】54. 螺旋矩阵(spiral-matrix)(模拟)[中等]

链接https://leetcode-cn.com/problems/spiral-matrix/耗时解题:47 min题解:12 min题意给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100思路从外向内一圈一圈往里走,把每一圈看成一个循环结,

2021-03-15 11:19:05 19

原创 【linux】GPU 服务器常用命令

后台运行nohup xxx > out.log 2>&1 &exit根据进程号查看进程ps -ef | grep xxx实时显示显卡占用(每 1s 刷新一次)watch -n 1 nvidia-smi

2021-03-14 16:13:35 36 2

原创 【leetcode】706. 设计哈希映射(design-hashmap)(模拟)[简单]

链接https://leetcode-cn.com/problems/design-hashmap/耗时解题:13 min题解:8 min题意不使用任何内建的哈希表库设计一个哈希映射(HashMap)。实现 MyHashMap 类:MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value 。int get(int key

2021-03-14 13:25:39 30

原创 【leetcode】705. 设计哈希集合(design-hashset)(模拟)[简单]

链接https://leetcode-cn.com/problems/design-hashset/耗时解题:11 min题解:10 min题意不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。提示:

2021-03-13 17:31:41 19

原创 【leetcode】331. 验证二叉树的前序序列化(verify-preorder-serialization-of-a-binary-tree)(栈)[中等]

链接https://leetcode-cn.com/problems/verify-preorder-serialization-of-a-binary-tree/耗时解题:21 min题解:27 min题意序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6/ \ / \ / \#

2021-03-12 15:57:34 20

原创 【leetcode】227. 基本计算器 II(basic-calculator-ii)(栈)[中等]

链接https://leetcode-cn.com/problems/basic-calculator-ii/耗时解题:40 min题解:25 min题意给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。提示:1 <= s.length <= 3 * 105s 由整数和算符 (’+’, ‘-’, ‘*’, ‘/’) 组成,中间由一些空格隔开s 表示一个 有效表达式表达式中的所有整数都是非负整数,且在范围 [0, 231 - 1

2021-03-11 09:56:56 22

原创 【leetcode】224. 基本计算器(basic-calculator)(栈)[困难]

链接https://leetcode-cn.com/problems/basic-calculator/耗时解题:19 min题解:12 min题意实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。思路只有 加减法 和 括号,将括号完全打开,计算结果不会变,所以只需要处理好每个数前实际的符号,并按实际的符号将这些数加进结果即可。因为包含 括号,用栈记录括号前的符号,遇到 ‘+’ 那么当前符号就是栈顶符号,遇到 ‘-’ 那么当前符号是栈顶符号的相反符号,遇到 ‘(’ 将括号前的实际

2021-03-10 19:49:37 16

原创 【leetcode】1047. 删除字符串中的所有相邻重复项(remove-all-adjacent-duplicates-in-string)(模拟)[简单]

链接https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/耗时解题:38 min题解:10 min题意给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。思路类似于消消乐,两个相同的字符碰到一起就消去它们,并且一次消去之后可能会引起连锁的接连消去。记录

2021-03-09 09:45:24 28

原创 【leetcode】132. 分割回文串 II(palindrome-partitioning-ii)(DP)[困难]

链接https://leetcode-cn.com/problems/palindrome-partitioning-ii/耗时解题:32 min题解:25 min题意给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数 。思路dp[i] 表示 s[0:i] 的字符串的最少分割次数。dp[i]={0          (s[0:i]是回文串)mi

2021-03-08 11:43:39 34

原创 【leetcode】131. 分割回文串(palindrome-partitioning)(回溯)[中等]

链接https://leetcode-cn.com/problems/palindrome-partitioning/耗时解题:24 min题解:35 min题意给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。思路以位置 0 为子串首字符,每找到一个回文串,把这个回文串加入划分数组,再以这个子串的下一个位置到原字符串的结尾作为新的字符串(重复子问题)进行上述过程,当子串的下一个位置是原字符串的结尾,将划分数组加入结果。回溯回来的时候,从划分数

2021-03-07 10:35:56 24

原创 【leetcode】503. 下一个更大元素 II(next-greater-element-ii)(栈)[中等]

链接https://leetcode-cn.com/problems/next-greater-element-ii/耗时解题:15 min题解:9 min题意给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。注意: 输入数组的长度不会超过 10000。思路第一次遍历数组中每个元素,将其放入堆栈,在

2021-03-06 10:44:37 32

原创 【leetcode】303. 区域和检索 - 数组不可变(range-sum-query-immutable)(前缀和)[简单]

链接https://leetcode-cn.com/problems/range-sum-query-immutable/耗时解题:5 min题解:5 min题意给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和

2021-03-01 14:30:44 21

原创 【leetcode】867. 转置矩阵(transpose-matrix)(模拟)[简单]

链接https://leetcode-cn.com/problems/transpose-matrix/耗时解题:4 min题解:4 min题意给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 10001 <= m * n <= 10^5-10^9 <=

2021-02-25 12:19:40 22

原创 【leetcode】832. 翻转图像(flipping-an-image)(模拟)[简单]

链接https://leetcode-cn.com/problems/flipping-an-image/耗时解题:29 min题解:4 min题意给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。提示:1 <=

2021-02-24 12:50:23 25

原创 【leetcode】1052. 爱生气的书店老板(grumpy-bookstore-owner)(滑动窗口)[中等]

链接https://leetcode-cn.com/problems/grumpy-bookstore-owner/耗时解题:40 min题解:23 min题意今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会

2021-02-23 15:14:17 25

原创 【leetcode】766. 托普利茨矩阵(toeplitz-matrix)(模拟)[简单]

链接https://leetcode-cn.com/problems/toeplitz-matrix/耗时解题:5 min题解:6 min题意给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。提示:m == matrix.lengthn == matrix[i].length1 <= m, n <= 200 <=

2021-02-22 12:27:47 41

原创 【leetcode】697. 数组的度(degree-of-an-array)(模拟)[简单]

链接https://leetcode-cn.com/problems/degree-of-an-array/耗时解题:1 h 29 min题解:13 min题意给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。提示:nums.length 在1到 50,000 区间范围内。nums[i] 是一个在 0 到 49,999 范围内的整数。思路题意相

2021-02-20 15:47:15 30

原创 【leetcode】1004. 最大连续1的个数 III(max-consecutive-ones-iii)(滑动窗口)[中等]

链接https://leetcode-cn.com/problems/max-consecutive-ones-iii/耗时解题:21 min题解:8 min题意给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。提示:1 <= A.length <= 200000 <= K <= A.lengthA[i] 为 0 或 1思路滑动窗口中包含的是仅包含 1 或者包含 1 以及小

2021-02-19 10:11:46 21

原创 【leetcode】566. 重塑矩阵(reshape-the-matrix)(模拟)[简单]

链接https://leetcode-cn.com/problems/reshape-the-matrix/耗时解题:17 min题解:10 min题意在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;

2021-02-17 14:40:21 24

原创 【leetcode】561. 数组拆分 I(array-partition-i)(贪心)[简单]

链接https://leetcode-cn.com/problems/array-partition-i/耗时解题:5 min题解:24 min题意给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。返回该 最大总和 。思路分成 n 对,每对里取最小的加和,那么朴素的贪心想法就是每对里面较小的元素尽可能的大,较大的元素只比较小的元素大一点

2021-02-16 12:22:01 23

原创 【leetcode】485. 最大连续1的个数(max-consecutive-ones)(模拟)[简单]

链接https://leetcode-cn.com/problems/max-consecutive-ones/耗时解题:3 min题解:9 min题意给定一个二进制数组, 计算其中最大连续1的个数。思路计数数组中连续 1 的长度,遍历数组,以当前元素为结尾的最大连续 1 的个数为 tmp,tmp 的最大值即为答案。详见代码。时间复杂度:O(n)O(n)O(n)AC代码class Solution {public: int findMaxConsecutiveOnes(vec

2021-02-15 17:16:57 30

原创 【leetcode】119. 杨辉三角 II(pascals-triangle-ii)(模拟)[简单]

链接https://leetcode-cn.com/problems/pascals-triangle-ii/耗时解题:18 min题解:18 min题意给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。思路将杨辉三角形放在二维数组的左下三角形,根据定义可以得到每个位置的元素值的递推式为:dp[i][j]=dp[i−1][j−1]+dp[i−1][j]dp[i][j] = dp[i-1][j-1] + dp[i-1][j]

2021-02-12 14:12:37 36 2

原创 【leetcode】703. 数据流中的第 K 大元素(kth-largest-element-in-a-stream)(模拟)[简单]

链接https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/耗时解题:1 h 25 min题解:26 min题意设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。int add(int val) 将 val 插入数据流

2021-02-11 11:08:17 20

原创 【leetcode】567. 字符串的排列(permutation-in-string)(滑动窗口)[中等]

链接https://leetcode-cn.com/problems/permutation-in-string/耗时解题:24 min题解:15 min题意给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。注意:输入的字符串只包含小写字母两个字符串的长度都在 [1, 10,000] 之间思路假设:s1 的长度为 m,s2 的长度为 n。设置一个固定长度为 m 的滑动窗口,在 s2 上滑动窗口,

2021-02-10 12:13:51 32

原创 【leetcode】1208. 尽可能使字符串相等(get-equal-substrings-within-budget)(滑动窗口)[中等]

链接https://leetcode-cn.com/problems/get-equal-substrings-within-budget/耗时解题:2 h 40 min题解:20 min题意给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的

2021-02-05 20:45:01 28

原创 【leetcode】424. 替换后的最长重复字符(longest-repeating-character-replacement)(滑动窗口)[中等]

链接https://leetcode-cn.com/problems/longest-repeating-character-replacement/耗时解题:1 h 27 min题解:28 min题意给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 10410^4104。思路这种写法细节非常多。。。大体思路,分别尝试将每个大写字母作为重复字母,维

2021-02-02 22:08:40 25

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除