自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言实现多线程计算n个数的和

其实就是函数的执行,函数的执行总会有一个源头,这个源头就是所谓的入口函数,CPU从入口函数开始执行从而形成一个执行流,只不过我们人为的给执行流起一个名字,这个名字就叫线程。:每个线程都有自己私有的栈区,但是线程并没有做出隔离不同栈区的保护机制,也就是说线程A可以修改线程B的栈区。逻辑上不需要等待线程结束,则使用该函数,释放传入的thrd所占资源。等待传入的线程执行结束,result接收传入线程执行函数的返回值。

2023-12-28 20:19:45 491 1

原创 代码随想录刷题Day45 | 70.爬楼梯(进阶版)、322.零钱兑换、279. 完全平方数

【代码】代码随想录刷题Day45 | 70.爬楼梯(进阶版)、322.零钱兑换、279. 完全平方数。

2023-09-22 15:34:29 111

原创 代码随想录刷题Day44 | 完全背包问题、 518.零钱兑换 II、377. 组合总和 Ⅳ

【代码】代码随想录刷题Day44 | 完全背包问题、 518.零钱兑换 II、377. 组合总和 Ⅳ。

2023-09-21 19:09:11 111

原创 代码随想录刷题Day43 | 1049. 最后一块石头的重量 II、494.目标和、 474.一和零

已经有一个1(nums[i]) 的话,有 dp[4]种方法 凑成 容量为5的背包。已经有一个2(nums[i]) 的话,有 dp[3]种方法 凑成 容量为5的背包。已经有一个3(nums[i]) 的话,有 dp[2]中方法 凑成 容量为5的背包。已经有一个4(nums[i]) 的话,有 dp[1]中方法 凑成 容量为5的背包。已经有一个5 (nums[i])的话,有 dp[0]中方法 凑成 容量为5的背包。推导过程:假设分为的两堆的数值和分别为left和right,那么可以有公式。)这么大容积的包,有。

2023-09-21 12:37:23 101

原创 代码随想录刷题Day42 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集

【代码】代码随想录刷题Day42 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、416. 分割等和子集。

2023-09-19 20:34:42 74

原创 代码随想录刷题Day8 | 344.反转字符串、541.反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串(补)

【代码】代码随想录刷题Day8 | 344.反转字符串、541.反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串(补)

2023-09-18 18:30:25 26

原创 代码随想录刷题Day40 | 343.整数拆分、96.不同的二叉搜索树

【代码】代码随想录刷题Day40 | 343.整数拆分、96.不同的二叉搜索树。

2023-09-18 10:16:14 105

原创 代码随想录刷题Day39 | 62.不同路径、63.不同路径 II

【代码】代码随想录刷题Day39 | 62.不同路径、63.不同路径 II。

2023-09-18 09:12:59 75

原创 代码随想录刷题Day38 | 509.斐波那契数 、70.爬楼梯 、746.使用最小花费爬楼梯

关于本题还可以继续深化,就是一步一个台阶、两个台阶、三个…一直到m个台阶,共有多少种方式爬到n阶。分析递归的时间复杂度直接。注意也可以用递归来做。

2023-09-15 17:25:14 131 1

原创 代码随想录刷题Day37 | 738.单调递增的数字、968.监控二叉树

例如:13332,从左往右遍历,找到第一个开始下降的数字3,往前再看下,是否还有等于3的数字,找到最前面那个3,将3改为2,然后将后面的各个数字置为9,最后为:12999。例如:1232123,从左往右遍历,找到第一个开始下降的数字3,将3改为2,然后将后面所有数字全部置为9,最后为:1229999 即为答案。,这也是本道贪心的原理所在!所以选择后序遍历(左右根)。在安排选择摄像头的位置的时候,

2023-09-14 16:58:31 163 1

原创 代码随想录刷题Day36 | 435.无重叠区间、763.划分字母区间、56.合并区间

本次主要是贪心算法。

2023-09-13 15:19:31 205 1

原创 代码随想录刷题Day7 | 454. 四数相加 II、383. 赎金信、15. 三数之和、18. 四数之和

一个unordered_map,key放a和b两数之和,value 放a和b两数之和的负数(0-sum)出现的次数。前两个循环可以先进行剪枝(也就是当数据已经来到正数,且前面的和的值已经大于0就不再往后计算)第二次循环时如果c被check出来,那么其对应的出现次数-1,为0时将其从。:先对数组排序,前两个数直接用循环遍历,后两个数用双指针转化为O(n):先对数组排序,前一个数直接循环遍历,后两个数用指针。然后记得这个题是返回的是元素本身而不是它们的下标。然后记得对每个数进行去重。:数据两两为一组计算。

2023-08-16 00:35:27 1300 1

原创 代码随想录刷题Day6 | 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和

哈希表理论基础。

2023-08-14 20:43:08 1455

原创 代码随想录刷题打卡Day4 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II

综上所述:pA与pB会在相等时结束循环,结束后pA=pB=(交点 或 null)pA先走listA,碰到null之后再换listB走(pB则镜像pA的操作)此处记listA、listB中无交集部分长度分别为a、b,有交集部分长度为c。步即可到达圈的入口,此时让fast回到链表头走即可。先正常遍历得到链表大小,再计算删除哪个点。上面的说明结论错误,但是关键在于证明。第一次相遇时,pA走了。

2023-08-13 21:57:19 1502 1

原创 代码随想录刷题Day3 | 203.移除链表元素、707.设计链表、206.反转链表

没啥难度,但是注意节点判空等细节,然后可以使用虚拟头节点来简化程序。先将头部连续的val节点删除,实际工程中记得释放堆空间。

2023-08-11 23:43:26 1636 1

原创 代码随想录刷题Day2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

(本题昨天有个数据是4,1,4,导致我无法直接用双指针来做,后面发现这个数据是莫名其妙多出来的)从离0最近的两个数开始分别往左右方向遍历比较,将绝对值比较小的先放进res数组。分上下左右四个边界进行模拟即可。暴力解法,主要复习下排序。

2023-08-10 22:05:49 1843 1

原创 代码随想录刷题Day1| 704. 二分查找、27. 移除元素

好久不敲代码了,复健!

2023-08-09 15:14:11 1877 1

原创 剑指offer 67.把字符串转换为整数

【C++】剑指offer 67. 把字符串转换成整数算法流程:先将字符串中最开始满足要求的数字字符串提取出至 tmp(提取过程判断正负号,提取出的字符串不带符号,有前缀0)在循环外去除前缀0然后根据位数判断是否有匹配或越界当 位数 == 0,说明无匹配情况,返回0当 位数 > 10,再根据符号返回INT_MAX或INT_MIN;若 位数 == 10,根据string类自带的 > 比较(字典序)先判断符号正号,tmp与字符串类型的INT_MAX("214

2022-03-19 12:38:53 982

原创 双链表的创建、遍历、插入、删除

双链表相关操作//双链表的创建,遍历,插入,删除#include<cstdio>#include<cstdlib>typedef int Elemtype;typedef struct DoubleNode { int val; struct DoubleNode *prior, *rear;} DNode;//尾插法创建void Create_tail(DNode* &head, int *arr, int n) { head =

2021-11-17 20:59:07 204

原创 在markdown文件中显示c++头文件#include<iostream>

将#include<iostream>改为#include<iostream\>

2021-11-04 23:07:19 226

原创 数组模拟链表

题目描述实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 k 个插入的数后面的数;在第 k 个插入的数后插入一个数。现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1 个插入的数,第 2 个插入的数,…第 n 个插入的数。输入格式第一行包含整数 M,表示操作次数。接下来 M 行,每行包含一个操作命令,操

2021-11-04 23:00:34 95

原创 单链表的创建、插入、删除、遍历输出

单链表相关操作// 单链表相关操作// 输入格式:第一行输入一个整数n, 第二行输入n个整数#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef struct node { ElemType data; struct node *next;} Node;//尾插法创建链表(结果正序)void CreateListTail(Node *&head, ElemTyp

2021-11-04 10:39:45 945

原创 试除法判定质数

试除法判定质数题目描述给定 n 个正整数 ai,判定每个数是否是质数。输入格式第一行包含整数 n。接下来 n 行,每行包含一个正整数 ai。输出格式共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。数据范围1 ≤ n ≤ 100,1 ≤ ai ≤ 2^31 − 1参考代码#include <iostream>using namespace std;// O( nlog(n) )// 不建议使用sqrt(x),会很慢

2021-10-05 14:34:02 63

原创 vim入门操作

vim入门操作普通模式的操作dd 删除一行x 删除一个字符u 回退到上一步Ctrl+r 回退到上一个u之前dw 删除一个单词数字(n)+dd 删除从光标开始的后n行d+$(shift+4) 删除光标位置到本行末尾的内容d+^(shift+6) 删除光标位置到本行行首的内容yy

2021-04-06 22:22:56 67

空空如也

空空如也

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

TA关注的人

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