3 CC 公众号: hw_cchang

我要认证

微信公众号:编程技术与生活(hw_cchang) 软件工程本硕毕业于武汉大学,现就职于某大厂。 从事过Java Web、Android、CV、深度学习开发,现主要从事CPP/Go后台开发。

等级
TA的排名 3k+

LeetCode C++刷题142-145题题解

142、环形链表II题目给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?示例 1:输入:head = [3,2,0,-4], pos = 1输出:返回索引...

2020-10-17 23:35:45

LeetCode C++刷题138-141题题解

138、复制带随机指针的链表题目给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。我们用一个由n个节点组成的链表来表示输入/输出中的链表。每个节点用一个[val, random_index]表示:val:一个表示Node.val的整数。random_index:随机指针指向的节点索引(范围从0到n-1);如果不指向任何节点,则为null。示例 1:输入:head = [[7,...

2020-10-17 23:28:29

剑指offer C++刷题总结(4)

调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。题解:双指针完整代码:class Solution {public: void reOrderArray(vector<int> &array) { int i = 0; for(int j = 0; j <

2020-10-17 21:32:53

剑指offer C++刷题总结(3)

目录变态跳台阶题目:题解:完整代码:矩阵覆盖题目:题解:完整代码:二进制中1的个数题目:题解:完整代码:数值的整数次方题目:题解:完整代码:变态跳台阶题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题解:动态规划完整代码:class Solution {public: int jumpFloorII(int number) {.

2020-10-17 21:18:33

剑指offer C++刷题总结(2)

二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:二维数组中的查找题目:题解:完整代码:...

2020-10-17 21:09:22

LeetCode C++刷题133-137题题解

目录133、克隆图题目题解代码134、加油站题目题解代码135、分发糖果题目题解代码136、只出现一次的数字题目题解代码137、只出现一次的数字II题目题解代码133、克隆图题目给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; ...

2020-09-20 18:23:13

LeetCode C++刷题129-132题题解

129、求根到叶子节点数字之和题目给定一个二叉树,它的每个结点都存放一个0-9的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明:叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 代表数字 12.从根到叶子节点路径 1->3 代表数字 13....

2020-09-20 18:17:53

LeetCode C++刷题125-128题题解

125、验证回文串题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-palindrome著作权归领扣网络所有。商业转载

2020-09-20 18:12:49

LeetCode C++刷题121-124题题解

目录121、买卖股票的最佳时机题目题解代码122、买卖股票的最佳时机II题目题解代码123、买卖股票的最佳时机III题目题解代码124、二叉树中的最大路径和题目题解代码121、买卖股票的最佳时机题目给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: ..

2020-09-20 18:07:20

剑指offer C++刷题总结(1)

二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解:双指针完整代码:class Solution {public: bool Find(int target, vector<vector<int> > array) { int m = array.size();

2020-09-18 21:02:01

LeetCode C++刷题116-120题题解

目录116 填充每个节点的下一个右侧节点指针题目题解完整代码117 填充每个节点的下一个右侧节点II题目题解完整代码118 杨辉三角题目题解完整代码119 杨辉三角II题目题解完整代码120 三角形中的最小路径和题目题解完整代码116 填充每个节点的下一个右侧节点指针题目给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val;..

2020-09-05 12:03:54

LeetCode C++刷题111-115题题解

111 二叉树的最小深度题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-t...

2020-09-05 11:52:49

LeetCode C++刷题106-110题题解

106 从中序与后续遍历构建二叉树题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder =[9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \ 15 7来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/construct-binary-...

2020-09-05 11:40:25

LeetCode C++刷题101-105题题解

101 对称二叉树题目给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3进阶:你可以运用递归和迭代两种方法解决这个问题吗?来源:力扣(LeetCode)链接:https://...

2020-09-05 11:34:23

Linux平台C++连接Redis进行相关数据操作

1、安装hiredis1.1下载hiredis可以采用两种方式:方法1、在linux平台直接运行下方命令:git clone https://github.com/redis/hiredis方法2、通过浏览器在Github官网下载后解压(注:为什么提供这种比较傻瓜的方法,因为我通过方法一下载了很多次都没成功,大哭)1.2安装hiredis进入hiredis根目录,依次运行下方命令:cd hiredismakesudo make install(复制生成的库到/u.

2020-08-30 17:53:52

LeetCode C++刷题97-100题题解

97、交错字符串题目:给定三个字符串s1, s2, s3, 验证s3是否是由s1和s2 交错组成的。示例 1:输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出:true示例2:输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出:false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/interlea...

2020-08-22 23:11:23

LeetCode C++刷题93-96题题解

93、复原IP地址题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。示例 1:输入:s = "25525511135".

2020-08-22 23:04:23

LeetCode C++刷题89-92题题解

89、格雷编码题目:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入:2输出:[0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的n,其格雷编码序列并不唯一。例如,[0,2,3,1]也是一个有效的格雷编码序列。00 - 010 - 211 -...

2020-08-22 23:00:00

LeetCode C++刷题85-88题题解

85、最大矩形题目:给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-rectangle著作权归领扣...

2020-08-22 22:55:53

Linux平台 C++ shared_ptr和weak_ptr实现对象资源的管理

一、前言Shared_ptr采用引用计数实现自动化资源管理,当引用计数降为0时,对象(资源)即被销毁。weak_ptr也是一个引用计数型的智能指针,但是它不增加对象的引用计数,即弱(weak)引用。Shared_ptr在下列情况之一出现时销毁对象并释放内存:最后占有std::shared_ptr对象被销毁时; 最后占有std::shared_ptr对象被通过operator=或reset()赋值为另一个指针。●shared_ ptr控制对象的生命期。shared_ptr是强引用(想象成用铁丝

2020-08-19 22:03:13

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享小兵
    分享小兵
    成功上传3个资源即可获取