自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode_Weekly_311

就写写hello world

2022-09-26 10:13:26 255 1

原创 Leetcode_Weekly_310

周赛前三题,一题多法,就是思考别人的code有点费时间。

2022-09-15 00:25:53 193

原创 序_凑五个字

感觉不需要什么摘要(笑)

2022-09-13 00:55:31 254

原创 Related to the third param of function “sort“ & Lambda of Cpp

需要摘要么?

2022-08-06 16:07:11 160 1

原创 Leetcode_088(Array)

原题:合并两个有序数组1、自解(偷懒)class SolutionMy {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { for (int i = 0; i < nums2.size(); ++i) { nums1[m+i] = nums2[i]; } sort(nums1.b

2022-01-24 16:21:26 280

原创 Leetcode_027(Array)

原题:移除无序数组元素自解://利用经典推进算法class SolutionMy {public: int removeElement(vector<int>& nums, int val) { //变量 int num; int diff; //初始化 num = nums.size(); diff = 0; //推进 if (num !

2022-01-20 15:36:09 256

原创 Leetcode_026(Array)

原题:删除有序数组中的重复项1、自解(暴力法):int removeDuplicates(vector<int>& nums) { if (nums.size() == 0){ return 0; }//if int location, count; vector <int> mygoal; vector<int>::iterator myir; locat

2022-01-18 16:03:20 256

原创 Leetcode_001(Array)

原题:两数之和自解:class SolutionMy { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> pp(2); int num = nums.size(); int pt1, pt2; pt1 = 0; pt2 =

2022-01-17 17:05:14 96

原创 Leetcode_1482.制作m束花所需的最少天数————————晚上睡觉都会想的二分题

给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。原题地址:制作m束花所需的最少天数我的没有解出答案的垃圾题解/* * 来思路了来思路了我的宝贝!! * 我由于 m * k 是所有需要的数量,这里我可以求“补集” .

2021-05-14 17:04:46 73

原创 Leetcode_1482.制作m束花所需的最少天数

给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDay[i] 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。原题地址:制作m束花所需的最少天数我的错误题解:/* * 来思路了来思路了我的宝贝!! * 我由于 m * k 是所有需要的数量,这里我可以求“补集” * 即躲避除了.

2021-05-09 21:14:57 69

原创 Leetcode_1720. 解码异或后的数组

未知 整数数组 arr 由 n 个非负整数组成。经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encoded[i] = arr[i] XOR arr[i + 1] 。例如,arr = [1,0,2,1] 经编码后得到 encoded = [1,2,3] 。给你编码后的数组 encoded 和原数组 arr 的第一个元素 first(arr[0])。请解码返回原数组 arr 。可以证明答案存在并且是唯一的。题目地址:解码异或后的数组我的超时题解vector&l.

2021-05-06 15:41:04 75

原创 Leetcode_1011.在D天内送达包裹的能力————二分法的第一次arise

传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。原题地址:在D天内送达包裹的能力我的超时题解class Solution {public: int shipWithinDays(vector<int>& weights, int D) { .

2021-05-05 16:15:08 91

原创 AlgarithmLearning_Day3.1 (《算法笔记》第四章 入门篇(2)算法初步)

昨天整理到了全排列,之后书籍马上就对全排列进行了“实例化”,给了一个“n皇后问题”。即一个n*n的棋盘中放着n个皇后棋子,要求皇后与皇后彼此之间行列不可相等,也不能在同一条对角线上。表面看可能和全排列有点关系,仔细一思考,这就是全排列啊,一点差没有,除了可以根据实际问题剪枝优化外就没什么差别了,不过代码真的是值得借鉴的,思维的转化也非常重要。如果把N列皇后所在的行号依次写出,那就是1~n的一个排列。而每一列都有不同的行号。我们以每一列为基准进行循环,这样排列数目就不再是全枚举量,只需要 ( n!) 次

2021-04-25 20:59:58 74

原创 Leetcode_897. 递增顺序搜索树——————C++越界而C没越界,,,,,,,,,,估计要成为历史遗留问题

897已经做过一遍,成功AC,可是在我用C++编写算法的时候遇到了一些问题。真是用C的毛病改不了啊。我的题解struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} .

2021-04-25 17:20:30 65

原创 AlgarithmLearning_Day2.1 (《算法笔记》第四章 入门篇(2)算法初步)

4.3 递归4.3.1 分治(divide and conquer): 分治法将原问题划分成若干个规模较小而结构与原问题相似的子问题,然后分别解决这些子问题,最后合并子问题的解,即可得到原问题的解。分治大体上有三步走:分解、解决、合并(这个方法貌似我一直都有在用,只不过用在了不对的地方,把简单的问题复杂化了,不能怪分治,怪就怪我的变成思想有问题)4.3.2 递归:“要理解递归,你要先理解递归,直到你能理解递归”——一个笑话。总之,递归很适合用来实现分治思想。递归的逻辑中有两个核心概念:递归边界,.

2021-04-24 21:23:43 71

原创 AlgarithmLearning_Day1.2 (《算法笔记》第四章 入门篇(2)算法初步)

啊啊啊

2021-04-23 21:04:49 107

原创 AlgarithmLearning_Day1:比较算法的对比————(太长了,先更新到Shell Sort)

原文:clickStable & Not Stable稳定排序算法会将相等的元素值维持其相对次序。如果一个排序算法是稳定的,当有两个有相等元素值 R 和 S ,且在原本的列表中R出现在 S 之前,那么在排序过的列表中 R 也将会是在 S 之前。O(n2) 与 O(n*logn) 的比较冒泡排序(Bubble Sort)重复比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素:1、比较相邻的元素,如果后者比较大,则交换两个元素2、对每一对相邻元素作同样的

2021-04-23 17:15:54 106

原创 Leetcode 91. 解码方法——————从我刷了五十多道力扣后决定从C转向C++再由这题让我下定先好好学习算法的那些事

一条包含字母 A-Z 的消息通过以下映射进行了 编码 :‘A’ -> 1‘B’ -> 2…‘Z’ -> 26要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,“11106” 可以映射为:“AAJF” ,将消息分组为 (1 1 10 6)“KJF” ,将消息分组为 (11 10 6)注意,消息不能分组为 (1 11 06) ,因为 “06” 不能映射为 “F” ,这是由于 “6” 和 “06” 在映射中并不等价。给你一个只含.

2021-04-22 17:09:56 171 5

原创 Leetcode_598. 范围求和 II

给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。我的题解class Solution {public: int maxCount(int m, int n, vect.

2021-04-22 10:32:28 100

原创 Leetcode 53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。我的题解class Solution {public: int getmax(vector<int>& nums,int mem,vector<int>& dpSz){ /*2021年4月17日15:12:09开始重写getmax *从可以调用两个元素长度的子数组开始循环,检查外部调用函数循环起始为1(.

2021-04-21 16:07:40 107

原创 Leetcode_448. 找到所有数组中消失的数字(自贱)

给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。原题地址:找到所有数组中消失的数字或直转到:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/我的题解.

2021-04-19 14:13:06 72

原创 Leetcoee 697. 数组的度——————自写程序overtime,未优化—————————进阶方法滑动窗口

给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/degree-of-an-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2021-04-16 21:19:59 85

原创 Leetcode 2. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。原题地址:两数相加或直转到:https://leetcode-cn.com/problems/add-two-numbers/我的题解void _myfunc(struct ListNode* l1,struct ListNode* l2) { in.

2021-04-16 19:43:50 75

原创 Leetcode 322. 零钱兑换——DP问题总结————重复书写硬币问题

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。原题地址:零钱兑换或直转到:https://leetcode-cn.com/problems/coin-change/由于直接上动态规划中等难度的题我有点晕,这直接借鉴一下知乎大佬的文章,并加入自己的理解。先上代码int min(int a, int b) { return a &lt.

2021-04-14 16:03:39 365

原创 Leetcode 645. 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。给定一个数组 nums 代表了集合 S 发生错误后的结果。请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例:输入:nums = [1,2,2,4]输出:[2,3]输入:nums = [1,1]输出:[1,2]我的题解/** * Note: The returned array must b.

2021-04-13 20:32:26 84

原创 Leetcode 628. 三个数的最大乘积————————需要寻找最优解

给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。输入:nums = [1,2,3]输出:6输入:nums = [1,2,3,4]输出:24输入:nums = [-1,-2,-3]输出:-6原题地址:三个数的最大值或直转到:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/我的题解void poprank(int* nums,int numsSzie){ i.

2021-04-13 20:03:00 64

原创 Leetcode 263. 丑数

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。原题地址:丑数或直转到:https://leetcode-cn.com/problems/ugly-number/我的题解太让人作呕了,这里直接上最经典的方法bool isUgly(int n) { if (n <= 0) { return false; } int factors[] = .

2021-04-13 19:45:16 60

原创 Leetcode 面试题 02.03. 删除中间节点

实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f原题地址:删除中间节点或直转到:https://leetcode-cn.com/problems/delete-middle-node-lcci/我的题解void deleteNode(struct ListNode* .

2021-04-13 19:30:57 82

原创 C++与我的甜蜜第二天

想一想,C++貌似和C没有很大的区别,甚至可以用C的任何代码,除了引用不要和指针混淆。总结一下目前已知的C艹和C的我写代码时候遇到的区别:#include ??? 没错,就是引入库的时候变了,不过都是输入输出流,没必要在意太多,不用".h"了输入输出格式cout << "" << endl;cin >> "";string,一个非常实用的类库可以使用引用,可以理解为一个变量多个名字,而不像我们使用的指针变量取到的变量地址,更加灵活,这个引用我目前找不到什么用处

2021-04-10 12:04:20 54

原创 C++之 string学习

学习C艹的初衷就是stl与string,这里是重点。string对象的创建#include <iostream>#include <string>using namespace std;int main(){ string s1; string s2 = "c plus plus"; string s3 = s2; string s4 (5, 's'); return 0;}string的一些方法string s =

2021-04-09 17:13:14 105

原创 碎碎念

STL好多啊,不想背啊啊啊啊啊啊啊啊啊啊。不过string倒是挺方便的。

2021-04-08 21:11:20 55

原创 C++ 学习第一天

**基础**1、输入输出与C有一点小不一样,C大多数情况下用格式化输入输出函数,个别时候用puts。而Cpp一组cin和cout全部ac,不需要自己记着格式来进行输入输出。 string str; cin >> str;//输入 cout << "Hello World" << endl;//输出输入输出挺舒服的,没必要用“%”了,芜湖~mooc给了一个练习,泡沫排序,说实话和C没啥太大区别,如下:int* paixu(int* shuz

2021-04-08 21:10:17 61

原创 Leet Code 1816. 截断句子

句子 是一个单词列表,列表中的单词之间用单个空格隔开,且不存在前导或尾随空格。每个单词仅由大小写英文字母组成(不含标点符号)。例如,“Hello World”、“HELLO” 和 “hello world hello world” 都是句子。给你一个句子 s​​​​​​ 和一个整数 k​​​​​​ ,请你将 s​​ 截断 ​,​​​使截断后的句子仅含 前 k​​​​​​ 个单词。返回 截断 s​​​​​​ 后得到的句子。我的题解char * truncateSentence(char * .

2021-04-07 17:09:59 172

原创 Leet Code 559. N 叉树的最大深度(已改进,动态创建数组+选择排序 or 直接赋值递归比较)

给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。题目地址:N叉树的最大深度或直转到:https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree/我的题解int myfunc(struct Node* root){ int max; max=0; if(root!=NULL){ .

2021-04-07 16:49:41 53

原创 Leet Code 897. 递增顺序查找树——————(记得不用全局变量再而是指针传参试一试)(力扣老哥用的模拟栈的中序,太妙了)

给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。题目地址:递增顺序查找树或直转到:https://leetcode-cn.com/problems/increasing-order-search-tree/我的题解:int i[101];//对不起,我用全局变量了,我是癌症晚期,对不起,我都这样了你为什么不顺从我呢?// 我就想吃点好的,早餐加个鸡蛋,晚餐加个鸡腿,午饭吃两个馒头三两饭。int j=0;//我寻思反正都用.

2021-04-07 10:54:16 87

原创 Leet Code 104. 二叉树的最大深度<适当参照,后面有一个求N插树的最大深度>

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。我的题解/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode .

2021-04-06 16:30:17 70

原创 Leet Code 面试题 04.02. 最小高度树 同 《108. 将有序数组转换为二叉搜索树》(二分法传参初探)

给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0/ \-3 9/ /-10 5正确题解(没错这道题我拉了)struct TreeNode *creatnewnode(int num){ struct TreeNode* temp = malloc(size.

2021-04-06 16:06:41 92

原创 Leet Code 938. 二叉搜索树的范围和

给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。如输入:root = [10,5,15,3,7,null,18], low = 7, high = 15输出:32题目:二叉搜索树的范围和或直转:https://leetcode-cn.com/problems/range-sum-of-bst/我的题解/** * Definition for a binary tree node. * struct TreeNode { * .

2021-04-06 15:36:40 105

原创 LeetCode 剑指 Offer 57 - II. 和为s的连续正数序列————————————有遗留问题ing

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。如输入:target = 9输出:[[2,3,4],[4,5]]如输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]地址:和为s的连续整数序列或直转到:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lco.

2021-04-06 12:09:19 65

原创 Leet Code 剑指 Offer 25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。如:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4原题:合并两个排序的链表或直转到:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/本人题解:struct ListNode* mergeTwoLists(struct ListNode.

2021-04-06 10:51:41 56

空空如也

空空如也

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

TA关注的人

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