自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一坠的博客

就这样,坠

  • 博客(92)
  • 收藏
  • 关注

原创 一个新人,自我陶醉

你好,这里是一坠,知识一名小小的还没有成为程序员的程序员.我呢,正在自己学习一些计算机方面的知识,为了帮助我自己,决定开启这个博客,监督自己.是的,我为我自己,只是为了让自己更加优秀,也许我的一些看法,你们不会认同,我们可以讨论.当然我的一些看法根本就没有人来看,那没事,反正我只是为了我自己.加油,无论是我,还是我不知道的陌生人. 开始,一切才刚刚开始...

2020-08-17 16:18:14 248 1

原创 inscode又出问题????能不能启动成功?

请解决insconde问题

2023-10-07 08:43:44 268

原创 inscode连接不上gpu,持续8小时,为了数据不丢失续费了6小时,我只想知道什么时候可以连接

并且给我相应的补偿。

2023-10-04 10:55:32 1278

原创 我的力扣算发989-数组形式的整数加法

ok看题:对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。啊,数组化数字,数字化数组class Solution {public: vector<int> addToArrayForm(vector<int> &A, int K) { vector<int> res;

2021-01-22 09:07:15 380

原创 我的力扣算发1589-找到最小生成树的关键边

ok看题:给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] = [fromi, toi, weighti] 表示在 fromi 和 toi 节点之间有一条带权无向边。最小生成树 (MST) 是给定图中边的一个子集,它连接了所有节点且没有环,而且这些边的权值和最小。请你找到给定图中最小生成树的所有关键边和伪关键边。如果从图中删去某条边,会导致最小生成树的权值和增加,那么我们就说它是一条关键边。伪关键边则是可能会出现在某些最小生成树中

2021-01-21 22:50:18 390

原创 我的力扣算发628-三个数的最大乘积

ok看题:给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。额,简单到一定的程度,就是求一个数组中,三个数乘积的最大值,我先排序,然后比较三个整数相乘,还有两个最小的整数(这里防止有两个负数的绝对值比整数的最大值还大)和最大整数的乘积。class Solution {public: int maximumProduct(vector<int>& nums) { sort(nums.begin(),nums.end());

2021-01-20 09:02:30 248

原创 我的力扣算发721-账户合并

ok看题:给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails 表示该账户的邮箱地址。现在,我们想合并这些账户。如果两个账户都有一些共同的邮箱地址,则两个账户必定属于同一个人。请注意,即使两个账户具有相同的名称,它们也可能属于不同的人,因为人们可能具有相同的名称。一个人最初可以拥有任意数量的账户,但其所有账户都具有相同的名称。合并账户后,按以下格式返回账户:每个账户的第一个元

2021-01-18 08:58:57 223

原创 我的力扣算法1232-缀点成线

ok看题:在一个 XY 坐标系中有一些点,我们用数组 coordinates 来分别记录它们的坐标,其中 coordinates[i] = [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上,是则返回 true,否则请返回 false。啊,这,就是斜率要相等嘛。代码:class Solution {public: bool checkStraightLine(vector<vector<int>> &amp

2021-01-17 14:08:56 206

原创 我的力扣算发803-打砖块

ok看题有一个 m x n 的二元网格,其中 1 表示砖块,0 表示空白。砖块 稳定(不会掉落)的前提是:一块砖直接连接到网格的顶部,或者至少有一块相邻(4 个方向之一)砖块 稳定 不会掉落时给你一个数组 hits ,这是需要依次消除砖块的位置。每当消除 hits[i] = (rowi, coli) 位置上的砖块时,对应位置的砖块(若存在)会消失,然后其他的砖块可能因为这一消除操作而掉落。一旦砖块掉落,它会立即从网格中消失(即,它不会落在其他稳定的砖块上)。返回一个数组 result ,其中 r

2021-01-16 14:09:33 195

原创 我的力扣算法947-溢出最多的同行或同列石头

ok看题:n 块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。给你一个长度为 n 的数组 stones ,其中 stones[i] = [xi, yi] 表示第 i 块石头的位置,返回 可以移除的石子 的最大数量。害,就是说,给你以二维数组为元素的数组,在一个二维空间中,放石头,然后再问你哪些石头可以删除,删除的条件是,在二维空间中,同行或同列有石头的话, 就可以删除当前的石头。然后输出删除石头的个

2021-01-15 15:46:18 359

原创 我的力扣算法1018-可被5整除的二进制前缀

ok看题:给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 true,否则为 false。代码:class Solution {public: vector<bool> prefixesDivBy5(vector<int>& A) { vec

2021-01-14 21:41:36 154

原创 我的力扣算法684-冗余连接

ok看题:在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N个节点的树。如果有多个答案,则返回二维数组中最后出现的边。答案边 [u, v] 应满足相同的格式 u &lt

2021-01-13 14:21:44 397 1

原创 我的力扣算法1203-项目管理

ok不会公司共有 n 个项目和 m 个小组,每个项目要不无人接手,要不就由 m 个小组之一负责。group[i] 表示第 i 个项目所属的小组,如果这个项目目前无人接手,那么 group[i] 就等于 -1。(项目和小组都是从零开始编号的)小组可能存在没有接手任何项目的情况。请你帮忙按要求安排这些项目的进度,并返回排序后的项目列表:同一小组的项目,排序后在列表中彼此相邻。项目之间存在一定的依赖关系,我们用一个列表 beforeItems 来表示,其中 beforeItems[i] 表示在进行第

2021-01-12 14:23:27 283

原创 我的力扣算法1202-交换字符串的元素

ok看题:给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。你可以 任意多次交换 在 pairs 中任意一对索引处的字符。返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。这题,乍一看还以为比较简单,以为按顺序交换就完事,结果,漏看了通过步骤实现字典序最小,也就是不是按照给定顺序,而是自己找一个可以实现字典序最小的顺序,然后执行。唉,挺难的,并查集,不会。代码:class So

2021-01-11 14:04:56 411

原创 我的力扣算法123-买卖股票的最佳时机Ⅲ

ok看题:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。买卖股票的第三种题,你可以买2次股票,低价买高价卖,反正就是要挣更多的钱。动态规划永远滴神,用动态规划,找到在买卖股票过程中会有多少种状态,通过状态来设置动态转移方程。class Solution {public: int maxProfit(vector<int&

2021-01-09 16:10:39 208

原创 我的力扣算法189-旋转数组

ok看题:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。其实吧,题不是很难,就是移动数组的位数而已,但是难点是想出三种方法代码:class Solution {public: void rotate(vector<int>& nums, int k) { vector<int>t(nums.size());//生成一个相同大小的数组 for(int i=0;i<nums.size();i++)

2021-01-08 14:24:42 198

原创 我的力扣算法547-省份数量

ok看题:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。别问,问就是图,是图咱就要

2021-01-07 13:41:11 451

原创 我的力扣算法399-除法求值

ok看题:给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。另有一些以数组 queries 表示的问题,其中 queries[j] = [Cj, Dj] 表示第 j 个问题,请你根据已知条件找出 Cj / Dj = ? 的结果作为答案。返回 所有问题的答案 。如果存在某个无法确定的答

2021-01-06 14:14:07 213

原创 我的力扣算法830-较大分组的位置

ok看题:在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。例如,在字符串 s = “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的一些分组。分组可以用区间 [start, end] 表示,其中 start 和 end 分别表示该分组的起始和终止位置的下标。上例中的 “xxxx” 分组用区间表示为 [3,6] 。我们称所有包含大于或等于三个连续字符的分组为 较大分组 。找到每一个 较大分组 的区间,按起始位置下标递

2021-01-05 18:53:41 177

原创 2021-01-04

ok看题:斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。梦最开始的地方,相信学计算机的同学,基本上都碰到过这个斐波那契数列,在算法课上,它是一道永远经典的例题,可以用很多中方式来解决这个问题,很多最开始最先使用的可能就是递归吧,但是递归的局限性太强了,在这里我

2021-01-04 13:53:34 261

原创 我的力扣算法86-分隔链表

ok放了几天假,哈哈。看题:给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。就是,两个参数,一个链表,一个比较值,链表中的比比较值小的,要在比比较值大之前出现,且保证之前的相关顺序不变。代码:class Solution {public: ListNode* partition(ListNode* head, int x) { ListNode* s = ne

2021-01-03 08:38:48 254

原创 我的力扣算法435-无重叠区间

ok看题:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。害,就是不重复,字面意思。看代码:class Solution {public: int eraseOverlapIntervals(vector<vector<int>>& intervals) { if (intervals.empty())

2020-12-31 22:06:02 311

原创 我的力扣算法1046-最后一块石头的重量

ok看题:有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。石头相撞,必有一伤,每次最大的两个数字比,如果不是相等,那么小的那个变0,大的变成两个的差

2020-12-30 09:01:50 347

原创 我的力扣算法330-按要求补全数组

ok看题:给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。这道题,有一种数学的韵味在其中,主要通过排列组合著称的数组的总和可以满足一个规定范围内的所有数字。class Solution {public: int minPatches(vector<int>& nums, int

2020-12-29 14:08:58 209 1

原创 我的力扣算法188-买卖股票的最佳时机Ⅳ

ok看题:给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。之前买卖股票的升级版,没有手续费,但是一次只能买一个股票,总之就是赚钱,越多越好。但是很难,不大会,等有时间再细看。代码:class Solution {public: int maxProfit(int k, vector&lt

2020-12-28 11:26:28 206

原创 我的力扣算法205—同构字符串

OK看题:给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出: false示例 3:输入: s = “paper”, t = “title”输出: true说明:你可

2020-12-27 23:56:22 182

原创 我的力扣算法85-最大矩形

ok看题:给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。你给一个二维数组,然后从里面找到一个全是1的矩形,找到就算出里面有几个1,没有就是0代码:class Solution {public: int maximalRectangle(vector<vector<char>>& matrix) { if (matrix.size() == 0 || matrix[0].siz

2020-12-26 14:16:08 258

原创 我的力扣算法455-分发饼干

ok看题:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。就是在两个数组种,找匹配的数,在第二个数组中找到至少为第一个数组中数的数,要尽量找到最多,看到最多,就想到了贪心法,看到数组

2020-12-25 11:14:17 281 2

原创 我的力扣算法135-分糖果

ok看题:老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?就是说这个老师很抠,还有点偏心,欺负小孩子不懂事,喜欢那些表现好的孩子,但是又不想多给糖,所以小朋友有排在一起,然后根据评分给糖,如果这个小朋友的左边的评分比他低,那这个小朋友就要比左边的多一个,如果评分一样,你运气差,

2020-12-24 11:25:41 309

原创 我的力扣算法387-字符串的第一个唯一字符

ok看题:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。很简单,就是找一串字符串中只出现过一次的第一个字符就可以了。代码:class Solution {public: int firstUniqChar(string s) { map<int, int> f;//利用map来获取字符串中每个字符出现的次数 for (char t: s) {//如果出现了,对应的map++ ++

2020-12-23 11:29:24 195

原创 我的力扣算法103-二叉树的锯齿形层序遍历

ok看题:给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。其实就是一会正向录入数组中,一会逆向录入数组中,一个就是从左遍历,一个就是从右遍历就可以实现。代码:class Solution {public: vector<vector<int>> zigzagLevelOrder(TreeNode* root) { vector<vector<int>>

2020-12-22 11:35:46 212

原创 我的力扣算法746-使用最小花费爬楼梯

ok看题:数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。又是一道比较经典,适合入门的递归题,也是比较简单的动态规划问题。主要是找花费体力最小的方法,你可以选择走一阶,也可以选择走二阶,每一阶都有自己这阶需要花费的体力,并不是数组最后一个数就是楼顶,它是最后一

2020-12-21 14:09:28 182

原创 我的力扣算法316-去除重复字母

ok看题:给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。就是单纯的去字母,然后要字典序最小且顺序不变代码:class Solution {public: string removeDuplicateLetters(string s) { vector<int> vis(26), num(26); for (char ch : s) {

2020-12-20 09:12:33 263 1

原创 我的力扣算法48-旋转图像

ok看题:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。这题的解法很多,可以利用一个空的字符串来存放,然后在替换掉原始的矩阵,也可以运用数学方法来通过翻转来得到目标矩阵。代码://这是利用辅助数组进行操作,但是不符合题意class Solution {public: void rotate(vector<vector<int>>&

2020-12-19 14:10:55 188 1

原创 我的力扣算法389-找不同

ok看题:给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。很简单,就是两个字符串地字符是一样的,其中一个多了一个,找多的那个。代码://这是一种比较简单,容易想到的方法,但是时间和空间消耗高class Solution {public: char findTheDifference(string s, string t) { sort(s.begin(),s.end())

2020-12-18 11:02:38 253

原创 我的力扣算法714-买卖股票的最佳时机含手续费

ok看题给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。根据题意的话,就是赚钱,再满足要求得情况下,赚钱得多的方式最好。代码://这是一种动态规划的方式class Solution {pu

2020-12-17 14:16:26 170

原创 我的力扣算法290-单词规律

ok看题:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。虽然是一个简单题,但是从某种意义上来说,还是有点难度,根据题意,就是要保证单词的顺序要满足给出的规律,就像以前学语文什么abb型词语-红彤彤,什么的。有个坑就是,单词是一个由空格的字符串,空格前后的字符串才是单词,不能单纯的使用s[]来获取单词。代码:class Solut

2020-12-16 11:20:59 217

原创 我的力扣算法738-单调递增的数字

ok看题:题意很简单,也就是要找一个保证自己在形式上是升序,且最大不超过给出的值的一个数,这里用到的方法是贪心,主要是,先以给出的数为基础,如果满足条件,这就是最大的那个数,如果不是升序,再通过减一进行调整,但是每次调整都保证是当时的最大情况。代码:class Solution {public: int monotoneIncreasingDigits(int N) { //转换为string类型,方便利用下标获得值 string ts = to_stri

2020-12-15 15:17:29 259

原创 我的力扣算法49-字母异或分组

ok看题:题目的要就是找字符串数组里面,字符串字母相同但是顺序不一定相同的字符串,然后把他们分为一组,进行输出。看代码:class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { map<string, vector<string>> mp;//定义一个字符串排序后为key,原字符串为value的

2020-12-14 14:22:57 313

原创 我的力扣算法217-存在重复元素

ok看题:太简单了,我就不多说了。代码:class Solution {public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(),nums.end()); if(nums.size()<1) return false; for(int i=1;i<nums.size();i++){ if(

2020-12-13 23:01:26 134

空空如也

空空如也

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

TA关注的人

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