自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统VS Code配置C/C++环境

基础环境系统:Ubuntu系统(本文使用Ubuntu 20.04)确保系统已经有gcc,g++,gdb环境,可以使用下面命令查看:gcc -vg++ -vgdb -v正常结果举例:~$ gdb -vGNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2Copyright (C) 2020 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gn

2022-05-11 12:48:39 9105

原创 Ubuntu 20.04 配置vim编辑器

vim的安装命令:sudo apt-get install vim-gtk -y正常完成状态:配置vimvim的配置文件路径:/etc/vim/vimrc我的配置文件如下,如果你需要,可以把红色部分改成你自己的一些信息,就是一个很好用的vim了。具体操作:(这些命令都在终端执行,快捷键打开:ctl+alt+t)// 把原本的文件备份sudo cp /etc/vim/vimrc /etc/vim/vimrc.back//删除vimrcsudo rm /etc/vim/vimrc//

2022-05-10 15:08:24 9136 7

原创 VMware 安装 Ubuntu 20.04.4 超详细教程

VMware 安装 Ubuntu 20.04.4 超详细教程

2022-05-09 16:32:23 597

原创 红黑树的原理和实现(STL源码剖析/C++)

红黑树的定义每个节点要么是红色,要么是黑色根节点是黑色所有叶子节点(NULL)为黑色 (这里的叶子节点是指空节点NIL或者NULL,可以理解为虚拟的叶子节点)如果一个节点是红色,则它的子节点必须是黑色的(没有两个相邻的红色节点)从一个节点到该节点的子孙节点的所有路径有相同数目的黑色节点 (保证最长路径不会超过最短的两倍)红黑树的时间复杂度红黑树的时间复杂度O(logn)红黑树的查找、插入、删除都可以在O(logn)内完成定理:一棵含有n个节点的红黑树的高度至多为2log(n+1).

2021-09-07 16:35:06 794 2

原创 HDU 1010 Tempter of the Bone

题目描述一个迷宫是一个NM的矩阵,由.SXD四种符号组成, 你需要从S走到D一共刚好花费T秒(每移动一个点代表1秒),问是否能从S到D。符号解释. : 代表可以通过S : 起点位置X :墙,不能通过D :终点INPUT输入包含多个用例,每个用例格式:三个整数N,M,T(1 < N, M < 7; 0 < T < 50),接下来是NM的矩阵。OUTPUTYES/NO用例4 4 5S.X.…X.…XD…3 4 5S.X.…X.…D0 0 0

2021-05-23 15:11:46 101

原创 leetcode 1 两数之和 C/C++实现

一、C语言暴力解决int* twoSum(int* nums, int numsSize, int target, int* returnSize){ int *a = (int *)malloc(sizeof(int) * 2); int i, j; for (i = 0; i < numsSize - 1; i++) { for (j = i + 1; j < numsSize; j++) { if (nums[i] + nu

2021-04-22 11:19:37 502

原创 win10系统可以连上WiFi,但是现实“无Internet 安全”解决方法。

打开网络和Internet设置点击网络重置,等待重启就可以了。(我试了网上十来种方法都没有解决,用这个解决了,真的是难受啊)

2020-09-14 00:12:02 3905 2

原创 leetcode 166 分数到小数 C语言实现

题目leetcode 166给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。示例 1:输入: numerator = 1, denominator = 2输出: “0.5”示例 2:输入: numerator = 2, denominator = 1输出: “2”示例 ...

2020-03-21 17:13:06 324

原创 CCF-201912-2 回收站选址 C语言实现 简洁易懂

题目解题思路因为:1:x, y有很大的测试案列,二维数组浪费空间,并且可能无法分配那么大的空间。2:有负数坐标。所以:1:使用链表2:链表按x排序存储代码注意,在CCF答题栏选C++因为for(int i = 0; i < 5; i++)这样的语句C编译不通过。#include <stdio.h>#include <stdlib.h>typ...

2020-03-19 21:03:09 828

原创 Unity 3D中OnTriggerEnter实现靠近物体就显示 远离就消失

1.首先创建一个空物体,再创建两个cube。如图:2.给gameobject添加组件,勾选is Trigger,把size调大,保证不触碰到物体就可以让其消失,然后把最下面的脚本给它,并且在面板上把description放上你需要消失的物体(勾选了is Trigger 后就不能给物体加刚体了,不知道为什么会一直下降,有dalao知道原因望指导)如图:3.给cube添加刚体组件Rigidbo...

2020-03-18 21:55:19 5859 2

原创 快排实现查找第K小元素 C语言

题目快速排序实现查找第K小元素,若K不符合,则返回-1.如 4 7 2 3 9 ,k = 3;返回 4。代码#include <stdio.h> void swap(int *a, int *b) { int t = *a; *a = *b; *b = t;}int sortLevelN(int *a, int n, int k) { if (k < 0 ...

2020-03-18 15:10:18 862

原创 leetcode 155 最小栈 C语言实现

题目leetcode 155设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minSta...

2020-03-12 18:34:25 286

原创 leetcode 151 翻转字符串里的单词 C语言实现

题目leetcode 151给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a good exa...

2020-03-08 17:22:19 374

原创 leetcode 150 逆波兰式 C语言实现

题目leetcode 150根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: [“2”, “1”, “+”, “3”, ""]输出: 9解释: ((2 + 1) * 3)...

2020-03-08 13:46:30 303

原创 leetcode 148 排序链表 C语言

题目leetcode 148在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5代码非递归,自底向上。struct Lis...

2020-03-08 12:59:21 178

原创 leetcode 139 单词拆分 C语言实现

题目leetcode 139给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “...

2020-03-06 13:30:13 1305

原创 leetcode 135 分发糖果 C语言

题目leetcode 135老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、...

2020-03-05 19:27:45 561

原创 leetcode 132 分割回文串 II C语言实现 动态规划

题目leetcode 132给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入: “aab”输出: 1解释: 进行一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。代码int minCut(char * s){ int const len = strlen(s); int check[len]...

2020-03-05 13:09:53 212

原创 131 分割回文串 C语言实现 dfs+动态规划

题目leetcode 131给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]代码void partition__(char *s, int start, int len, int **dp, char **str, int k, char ***...

2020-03-05 11:59:33 308

原创 leetcode 130 被围绕的区域 C语言实现

题目给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X代码深度优秀,把边界O所联通区域全部先标记为#,学习题解void dfs(char ...

2020-03-04 22:33:02 573

原创 leetcode 145 二叉树的后序遍历 C语言实现 非递归

题目代码int* postorderTraversal(struct TreeNode* root, int* returnSize){ *returnSize = 0; if (root == NULL) return 0; #define MAX 1000000 int *arr = (int *)malloc(sizeof(int) * MAX); ...

2020-03-01 13:05:02 231

原创 leetcode 144 二叉树的前序遍历,非递归,C语言实现

测评题目leetcode 144代码int* preorderTraversal(struct TreeNode* root, int* returnSize){ *returnSize = 0; if (root == NULL) return 0; #define MAX 1000000 int *arr = (int *)malloc(sizeof...

2020-03-01 12:38:39 131

原创 leetcode 125 验证回文串 C语言实现

测评题目leetcode 125给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false代码注意用位运算会快很多。小写字母c变大写字母:c &...

2020-03-01 11:57:19 392

原创 leetcode 97 交错字符串 C语言实现

题目leetcode 97给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出: true示例 2:输入: s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”输出: false代码动态规划,...

2020-02-29 22:38:22 322

原创 leetcode 87 扰乱字符串 C语言实现

测评题目leetcode 87代码此题题目很容易误导大家,题目画的图像是二分扰乱,实际是每个位置都可以交换,详见代码。bool isScramble__(char *s1, int l1, int r1, char *s2, int l2, int r2) { if (l1 > r1) return false; if (r1 - l1 != r2 - l...

2020-02-29 21:41:32 210

原创 leetcode 124 二叉树中的最大路径和 C语言

题目leetcode 124给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。代码int maxPathSum__(struct TreeNode *root, int *max) { if (root == NULL) return 0; int l = maxPathSu...

2020-02-29 17:11:51 875

原创 leetcode 123 买卖股票的最佳时机 III C语言实现

题目leetcode 123给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时...

2020-02-29 16:15:13 200

原创 leetcode 122 买卖股票的最佳时机 II C语言实现

题目leetcode 122给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = ...

2020-02-29 11:22:45 131

原创 leetcode 121 买卖股票的最佳时机 C语言实现

题目leetcode 121给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6...

2020-02-29 11:09:09 237

原创 leetcode 118 杨辉三角 C语言

题目leetcode 118代码int** generate(int numRows, int* returnSize, int** returnColumnSizes){ *returnSize = 0; int **res = (int **)malloc(sizeof(int *) * numRows); (*returnColumnSizes) = (in...

2020-02-28 20:43:56 316

原创 leetcode 114 二叉树展开为链表 C语言

题目leetcode 114给定一个二叉树,原地将它展开为链表。例如,给定二叉树代码struct TreeNode *getright(struct TreeNode *root) { if (root == NULL) return NULL; while (root->right != NULL) root = root->right; retu...

2020-02-28 20:16:17 135

原创 leetcode 113 路径总和 II

题目leetcode 113给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22,代码void dfs(struct TreeNode *root, int arr[], int ind, int **res, int *returnSize, int **ret...

2020-02-28 10:01:13 110

原创 leetcode 76 最小覆盖子串 C语言实现

题目给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。代码char * minWindow(char * s, char * t){ ...

2020-02-27 12:31:20 1701 3

原创 leetcode 112 总路径和 C语言实现

题目leetcode 112给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22,代码void hasPathSum__(struct TreeNode *root, int sum, int *flag) { if (root ==...

2020-02-26 21:12:55 98

原创 leetcode 111 二叉树的最小深度 C语言实现

题目leetcode 111给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],代码int minDepth(struct TreeNode* root){ if (root == NULL) return 0; int l ...

2020-02-26 21:11:10 136

原创 leetcode 110 平衡二叉树 C语言实现

题目leetcode 110给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7]代码int isBalanced__(struct TreeNode *root, int *flag) { if (root == NU...

2020-02-26 20:27:27 185

原创 leetcode 108 将有序数组转换为二叉搜索树 C语言实现

题目leetcode 108将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:代码struct TreeNode *sortedAr...

2020-02-26 18:59:41 460

原创 leetcode 106 从中序与后续遍历序列构造二叉树 C语言实现

题目leetcode 106根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树:代码后续遍历最后一个节点是根节点,中序遍历按根节点分为左右部分//后续遍历最后一个节点是根节点,中序遍历按根节点分为左右部分...

2020-02-26 18:17:27 313

原创 leetcode 105 从前序与中序遍历序列构造二叉树 C语言实现

题目leetcode 105根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:代码前序遍历的第一个节点作为根节点,把中序遍历分为根节点的左边节点和右边节点,递归实现int local(int *nums, ...

2020-02-26 17:25:50 345

原创 leetcode 103 二叉树的锯齿形层次遍历 C语言实现

题目leetcode 103给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回锯齿形层次遍历如下:[[3],[20,9],[15,7]]代码int** zigzagLevelOrder(str...

2020-02-25 22:12:17 384

空空如也

空空如也

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

TA关注的人

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