自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言实现链表基本操作(交换第i个和第j个节点)

C语言实现链表基本操作(交换第i个和第j个节点)当i或者j为1时,需要让链表的表头指向j。代码为/*i和j为1时情况比较特殊,需要让表头重新指向交换后的那个节点*/ if (i == 1) { t1 = *L; for (m = 1; temp->Next != NULL; m++, temp = temp->Next) { if (m + 1 == j) { *L = temp-&

2021-01-19 19:21:06 1061

原创 Android Toast提示

默认显示方式:Toast.makeText()第一个参数:当前的上下文环境。可用getApplicationContext()或this第二个参数:要显示的字符串。也可是R.string中字符串ID第三个参数:显示的时间长短。Toast默认的有两个Toast.LENGTH_LONG(长)和Toast.LENGTH_SHORT(短),也可以使用毫秒Toast.makeText(this, "Hello", Toast.LENGTH_SHORT).show()...

2021-01-17 13:39:08 450

原创 Android添加RecyclerView依赖库

在app/build.gradle文件中dependencies里面添加def recyclerview_version ="1.1.0"implementation "androidx.recyclerview:recyclerview:$recyclerview_version"// For control over item selection of both touch and mouse driven selectionimplementation "androidx.recyclervi

2021-01-17 13:38:28 1054

原创 LeetCode 188. 买卖股票的最佳时机 IV(动态规划)(递归)

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

2020-12-28 15:55:43 221

原创 LeetCode 205. 同构字符串(哈希表)

题目给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以被替换得到t,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t ...

2020-12-27 20:13:39 157

原创 LeetCode 13. 罗马数字转整数(贪心)

题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写...

2020-12-26 14:16:39 106

转载 堆排序(排序)

定义堆排序:是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。概述若以升序排序说明,把数组转换成最大堆(Max-Heap Heap),这是一种满足最大堆性质(Max-Heap Property)的二叉树:对于除了根之外的每个节点i, A[parent(i)] ≥ A[...

2020-12-25 18:02:22 132 1

原创 LeetCode 455. 分发饼干(贪心)

题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大...

2020-12-25 17:05:53 147

原创 LeetCode 135. 分发糖果(贪心)

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

2020-12-24 19:14:12 96

原创 切分木棒(DFS)(BFS)

题目假设要把长度为 n 厘米的木棒切分为 1 厘米长的小段,但是 1 根木棒只能由 1 人切分,当木棒被切分为 3 段后,可以同时由 3 个人分别切分木棒(图 2)。求最多有 m 个人时,最少要切分几次。譬如 n = 8,m= 3 时如图所示,切分 4 次就可以了。作者:图灵教育链接:https://leetcode-cn.com/leetbook/rea...

2020-12-24 17:29:49 172

原创 LeetCode 387. 字符串中的第一个唯一字符(哈希表)

题目给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = "leetcode"返回 0s = "loveleetcode"返回 2提示:你可以假定该字符串只包含小写字母。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-unique-cha...

2020-12-23 19:54:29 113

原创 LeetCode 12. 整数转罗马数字(字符串)(贪心算法)

题目罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写...

2020-12-22 19:15:18 149

原创 LeetCode 69. x 的平方根(二分)

题目实现int sqrt(int x)函数。计算并返回x的平方根,其中x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。来源:力扣(LeetCode)链...

2020-12-21 17:32:31 129

原创 C语言实现各种进制之间转换

#include <Windows.h>#include <math.h>#include <stdio.h>#include <string.h>#define N 50//进制转换char *Ten_MoreThanTen(int, int); //10进制数转换成10以上进制数的函数int M...

2020-12-20 19:55:47 593

原创 旋转图像(数组)

题目给定一个 n×n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]...

2020-12-19 18:45:03 184

原创 Markdown语法

生成目录在markdown顶部输入[TOC]即可生成目录Markdown标题Markdown标题有两种第一种标题使用=和-标记我展示的是一级标题=================我展示的是二级标题-----------------第二种标题使用#标记# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题##...

2020-12-18 21:26:30 135

原创 找不同(位运算)(哈希表)

题目给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例 1:输入:s = "abcd", t = "abcde"输出:"e"解释:'e' 是那个被添加的字母。示例 2:输入:s = "", t = "y"输出:"y"示例 3:输入:s = "a",...

2020-12-18 17:38:22 147

原创 最长公共前缀(字符串)

题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。来源:力扣(LeetCo...

2020-12-18 17:02:23 186

原创 斐波那契数列(递归)

题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初...

2020-12-17 17:13:05 1205

原创 恢复二叉搜索树(二叉树)

题目给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?示例 1:输入:root = [1,3,null,null,2]输出:[3,1,null,null,2]解释:3 不能是 1 左孩子,因为 3 > 1 ...

2020-12-16 19:44:46 396

原创 二叉树的锯齿形层次遍历(二叉树)(BFS)

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

2020-12-15 17:01:22 471

原创 二叉树的序列化与反序列化(二叉树)

题目序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:...

2020-12-15 08:23:20 123

原创 二叉树的最近公共祖先(二叉树)

题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:...

2020-12-14 20:12:36 139

原创 无重复字符的最长子串(滑动窗口)

题目给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: s = "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"...

2020-12-13 17:21:43 111

原创 填充每个节点的下一个右侧节点指针(二叉树)(BFS)

题目给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有...

2020-12-13 17:10:23 121

原创 路径总和(二叉树)(DFS)

题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22,返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2来源:力扣(LeetCode)链接:http...

2020-12-13 15:52:49 115

原创 二叉树的最小(最大)路径(二叉树)

题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, ...

2020-12-13 13:54:14 1407

原创 二叉树的层序遍历(二叉树)(BFS)

题目给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7],返回其层次遍历结果:[[3],[9,20],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-le...

2020-12-12 16:51:11 204

原创 从前序与中序遍历序列构造二叉树(二叉树)

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

2020-12-12 12:26:26 158

原创 从中序与后序遍历序列构造二叉树(二叉树)

题目根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder =[9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]得到结果:[3,9,20,null,null,15,7]来源:力扣(LeetCode)链接:https://leetcode-cn.com/p...

2020-12-11 20:51:54 421

原创 二叉树的中序遍历(二叉树)

题目给定一个二叉树的根节点 root ,返回它的 中序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1,null,2]输...

2020-12-10 17:26:48 266

原创 对称二叉树(二叉树)

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

2020-12-10 14:44:24 171

原创 平衡二叉树(二叉树)

题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输...

2020-12-09 10:40:35 118

原创 二叉树中的最大路径和(二叉树)(DFS)

题目给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入:[1,2,3]1 / \ 2 3输出:6示例2:输入:[-10,9,20,null,null,15,7]-10 / 9 20 /...

2020-12-08 21:18:54 271

原创 杨辉三角(数组)

题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pasca...

2020-12-07 17:18:43 208

原创 字符串转换整数 (atoi)(字符串)

题目请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在...

2020-12-06 23:19:12 108

原创 整数反转(数组)

题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 ...

2020-12-06 17:16:41 238

原创 Z 字形变换(字符串)

题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个...

2020-12-05 20:51:16 347 1

原创 最长回文子串(动态规划)

题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-pa...

2020-12-04 19:47:51 144

原创 寻找两个正序数组的中位数(分治)

力扣的困难题极其简单!!!题目给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中...

2020-12-04 14:42:22 171

空空如也

空空如也

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

TA关注的人

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