诶你爱我吗
码龄3年
  • 195,086
    被访问
  • 81
    原创
  • 15,953
    排名
  • 12,908
    粉丝
关注
提问 私信

个人简介:不努力学习会变成猪哦

  • 加入CSDN时间: 2018-12-24
博客简介:

诶你爱我吗的博客

查看详细资料
  • 6
    领奖
    总分 2,284 当月 193
个人成就
  • 获得308次点赞
  • 内容获得106次评论
  • 获得2,091次收藏
创作历程
  • 9篇
    2022年
  • 43篇
    2020年
  • 31篇
    2019年
成就勋章
TA的专栏
  • LeetCode
    37篇
  • 数字图像处理
    11篇
  • 数据结构
    9篇
  • 软件工程
    2篇
  • 计算机图形学
    6篇
  • 编译原理
    2篇
  • 深度学习
    2篇
  • 操作系统
    1篇
  • 微机原理与接口技术
    5篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Leetcode101_贪心算法_665非递减数列

输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个 4 变成 1 来使得它成为一个非递减数列。题解捏吗第一次看着题,直接比较一下不就行了吗??自信满满写出代码,发现直接WA,裂开了不通过的案例是 【3 4 2 3】,发现确实只比较是不可取的,所以在比较完之后额外增加一个判断,把非递减的改成递减的,然后再比较后面的class Solution {public: bool checkPossibility(vector<int>& ..
原创
发布博客 2022.03.22 ·
63 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_406根据身高重建队列

输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]解释:编号为 0 的人身高为 5 ,没有身高更高或者相同的人排在他前面。编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为..
原创
发布博客 2022.03.22 ·
81 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_122买卖股票得最佳时机Ⅱ

输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。题解题解一 回溯用dfs回溯虽然会超时,但是可以用这个题练一练dfs的思路class Solution {public: int res..
原创
发布博客 2022.03.22 ·
75 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_763划分字母区间

输入:S = “ababcbacadefegdehijhklij”输出:[9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。像 “ababcbacadefegde”, “hijhklij” 的划分是错误的,因为划分的片段数较少。题解找出每个字符最后出现的位置,划分区间时设置开始位置start和结束位置end,然后比较每一次出现的字符的最后出现位置和end的大小,取最大值(取最大值是因为这个字符只能出现在一个片..
原创
发布博客 2022.03.22 ·
62 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_452用最少数量的箭引爆气球

输入:points = [[10,16],[2,8],[1,6],[7,12]]输出:2解释:对于该样例,x = 6 可以射爆 [2,8],[1,6] 两个气球,以及 x = 11 射爆另外两个气球题解这个题和435无重叠区间很像,想要弓箭越少,则表明每一支弓箭要射爆的气球越多,因此可以先找出每次区间重叠最多的时候的气球数目,先按照结尾从小到大排序,每次都用下一组的开头和上一组的结尾进行比较,如果小于,说明这俩气球有重叠的区间,就可以用一根弓箭射爆,如果大于,说明这俩气球要用两根弓箭才能射爆,..
原创
发布博客 2022.03.22 ·
72 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_605种花问题

输入:flowerbed = [1,0,0,0,1], n = 1输出:true题解参考了大佬的跳格子方法注意当index到最后一位时需要特殊判断一下class Solution {public: bool canPlaceFlowers(vector<int>& flowerbed, int n) { for(int i = 0; i <flowerbed.size();){ if(flowerbed[i] == .
原创
发布博客 2022.03.22 ·
338 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_435无重叠区间

输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。解题经典题目没啥说的,按照结尾排序,每次保留结尾最小且不与上一个区间重叠的区间即可class Solution {public: int eraseOverlapIntervals(vector<vector<int>>& intervals) { if (intervals.empty()) ..
原创
发布博客 2022.03.22 ·
13 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_135发糖果

输入:ratings = [1,0,2]输出:5解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。题解这道题看题解是需要遍历两遍,先从左往右遍历,如果右边孩子的评分比左边的高,则右边孩子的糖果数更新为左边孩子的糖果数加 1;再从右往左遍历一遍,如果左边孩子的评分比右边的高,且左边孩子当前的糖果数不大于右边孩子的糖果数,则左边孩子的糖果数更新为右边孩子的糖果数加 1。关于为什么要遍历两遍,我是这么理解的:比如数组为ratings = [1 2 3 4 3 2 1]如果只..
原创
发布博客 2022.03.22 ·
61 阅读 ·
0 点赞 ·
0 评论

Leetcode101_贪心算法_455分配饼干

找工作不得不开始刷题了,发现之前刷的题如果不记录一下 过一段时间就忘了,所以还是写到博客里面记录一下吧输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。解题数组g表示每个孩子的饥饿值,按照贪心策略的思想,每一次都满足饥饿度最小,也就是胃口最小的孩子,并分配到的最小的满足胃口的饼干,这样可以把更大的饼干分配给胃口更大的孩子
原创
发布博客 2022.03.22 ·
35 阅读 ·
0 点赞 ·
0 评论

GLUT工具包.zip

发布资源 2021.04.28 ·
zip

基于MFC实现TCP的socket编程

一.实验目的了解Socket通信原理,实现以太网双节点通讯。二.实验要求了解三次握手的原理。编程实现以太网双节点通讯。了解端口与IP的关系和差异。三.实验原理基于TCP(面向连接)的socket编程,分为客户端和服务器端。客户端的流程如下:(1)创建套接字(socket)(2)向服务器发出连接请求(connect)(3)和服务器端进行通信(send/recv)(4)关闭套接字服务器端的流程如下:(1)创建套接字(socket)(2)将套接字绑定到一个本地地址和端口上(bind)
原创
发布博客 2020.11.01 ·
1268 阅读 ·
2 点赞 ·
2 评论

leetcode算法题29——两数相除

两数相除(中等)给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例解题这个题很坑的地方在于 因为输入的都是 int 型,比如被除数是 -2147483648,在 int 范围内,当除数是 -1 时,结果就超出了
原创
发布博客 2020.10.18 ·
112 阅读 ·
0 点赞 ·
0 评论

leetcode算法题28——实现 strStr()

实现 strStr()(简单)实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例解题用两个for循环进行遍历查找即可class Solution {public: int strStr(string haystack, string needle) { if(needle.empty()) return 0
原创
发布博客 2020.10.18 ·
58 阅读 ·
0 点赞 ·
0 评论

leetcode算法题27——移除元素

移除元素(简单)给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例解题这个题好简单,没有啥好说的,定义一个变量来记录移除元素后数组的位数在这里插入代码片,当nums[i]的值与val不同时,就让该变量对应数组位置的值变为nums[i],然后让变量+1,最后返回变量即可。class So
原创
发布博客 2020.10.18 ·
57 阅读 ·
0 点赞 ·
0 评论

leetcode算法题26——删除排序数组中的重复项

删除排序数组中的重复项(简单)给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例解题采用双指针,让j指向已经覆盖到的没有重复的数组位置,然后移动i,比较i和j对应位置的值,如果不同,则让nums[++j]位置赋为nums[i]即可,最后注意返回值是判断数组是否为空。class Solution {public: int removeD
原创
发布博客 2020.10.17 ·
42 阅读 ·
0 点赞 ·
0 评论

leetcode算法题25——K个一组翻转链表

K个一组翻转链表(困难)给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例解题思路一:这个题与之前两两交换链表中的节点很像,只是这次不再是相邻结点交换了,但思路都差不多一样,也是用三个指针来做,思路是先让pre指针指向头节点dummy,然后根据k的值对链表遍历,让cur指针指向第k个结点的下一个结点,比如对于-1->1->2->3->4-&
原创
发布博客 2020.10.17 ·
35 阅读 ·
0 点赞 ·
0 评论

基于RSA和AES的混合加密算法实现----2020年西北工业大学网络空间安全学院夏令营大作业

文章目录一、设计内容二、基本思路实现三、设计原理与流程3.1. 建立socket套接字连接3.1.1建立socket连接原理:3.1.2建立socket连接的流程图如下:3.2. RSA算法实现密钥加密分发3.2.1 RSA算法加密原理:3.2.2 RSA算法加密流程图:3.3. AES算法实现数据加密传输3.3.1 AES算法加密原理:3.3.2 AES算法加密解密流程图:四、实验过程与运行结果4.1. 网络传输连接的建立4.2. RSA算法的实现与加密解密4.3. AES的实现与加密解密4.4. 运行总
原创
发布博客 2020.10.16 ·
1071 阅读 ·
3 点赞 ·
9 评论

leetcode算法题24——两两交换链表中的节点

两两交换链表中的节点(中等)给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例输入:head = [1,2,3,4]输出:[2,1,4,3]输入:head = []输出:[]输入:head = [1]输出:[1]解题思路一:这个题是基本的链表操作题,可以采取迭代的方法实现,先建立 dummy 节点作为头节点,让dummy的next指向head,然后定义cur、p、q三个指针,分别指向头节点和第一第二两
原创
发布博客 2020.10.16 ·
71 阅读 ·
0 点赞 ·
0 评论

leetcode算法题23——合并K个升序链表

合并K个有序链表(困难)给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6输入:lists = []输出
原创
发布博客 2020.10.16 ·
77 阅读 ·
0 点赞 ·
0 评论

leetcode算法题22——括号生成

括号生成(中等)数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]解题方法一:可以把所有情况都列出来,然后判断是否符合要求,并使用一个变量 balance 表示左括号的数量减去右括号的数量。如果在遍历过程中 balance 的值小于零,或者结束时 balance 的值不为零,那么该序列就是无效的,否则它是有效的。cla
原创
发布博客 2020.09.10 ·
57 阅读 ·
0 点赞 ·
0 评论
加载更多