自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode-53-Maximum Subarray(最大子序和)

题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarray解析这...

2020-01-09 15:06:24 140

原创 最长递增子序列

经典动态规划问题:最长递增子序列题目简单来说:给定一个未经排序的整数数组,找到最长的递增序列。解答这是一道经典的动态规划的问题,通过找到数组中每一个数为结尾的最长递增子序列来求解整个数组的最长递增子序列。public int function(int a[]) { // TODO Auto-generated method stub //最长递增子序列 动态规划 ...

2020-01-07 15:52:37 202

原创 LeetCode-28-Implement strStr()(实现 strStr())

题目实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll” 输出: 2示例 2:输入: haystack = “aaaaa”, needle = ...

2019-12-28 21:45:01 143

原创 二叉树非递归遍历

二叉树的前序,中序,后序,层序的非递归遍历

2019-10-29 23:20:27 274

原创 二叉树的递归遍历

二叉树基本结构#ifndef TREEHEAD_H_INCLUDED#define TREEHEAD_H_INCLUDED/*二叉树的二叉链表存储表示*/typedef int ElemType;typedef struct BiTNode { ElemType data; struct BiTNode *lchild, *rchild;} BiTNode, *Bi...

2019-10-27 11:01:20 90

原创 平衡二叉树

什么是平衡二叉树平衡二叉树,又称为AVL树。它或者是空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。平衡二叉树的平衡旋转LL型。单向右旋平衡处理。2. RR型。单向左旋平衡处理3. LR型。双向旋转(先左后右)4. RL型。双向旋转(先右后左)构造AVL假设表中关键字序列(13,24,37,90,53)基本性...

2019-10-05 23:35:25 165

原创 马鞍点算法

设计一个求矩阵所有马鞍点(即点是所在行的最大值且是所在行的最小值)的算法,将马鞍点数值输出打印。

2019-09-27 23:00:50 3488

原创 一道不知出处的简单算法题解答

线性表(a1,a2,...,an)中的元素递增有序且按顺序存储与数组计算机的数组a内,要求涉及算法用函数实现下列功能:

2019-09-24 23:02:13 210 1

原创 LeetCode-25-Reverse Nodes in k-Group(K个一组翻转链表)

题目给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2-...

2019-09-05 22:23:29 78

原创 LeetCode-27-Remove Element(移除元素)

题目给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个...

2019-09-04 22:50:15 142

原创 LeetCode-26-Remove Duplicates from Sorted Array(删除排序数组中的重复项)

题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 n...

2019-09-03 23:39:23 82

原创 LeetCode-24-Swap Nodes in Pairs(两两交换链表中的节点)

题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs解答/**...

2019-09-01 22:23:06 272

原创 顺序栈的应用,数制转换

数制转换十进制数N和其他d进制数的转换时计算机实现计算的基本问题,其解决方法很多,其中一个简单的算法基于下列原理:N = (N div d) X d + N mod d实现代码int D[6] = {'A', 'B', 'C', 'D', 'E', 'F'};//数制转换void conversion(){ int num; int d; printf("请...

2019-08-16 23:27:33 432

原创 链队列的实现

链队列的存储结构和基本操作的实现:入队列,出队列等

2019-08-14 10:39:21 204

原创 顺序栈的实现

顺序栈的基本操作的实现:出栈,入栈等

2019-08-13 23:31:42 229

原创 一元多项式加法和减法(链表结构)

一元多项式基于链表结构的加法减法实现

2019-08-12 10:13:09 1188 1

原创 考研笔记:数据结构之链表

主要内容为:带头结点的单链表,带头结点的单循环链表,带头结点的双向循环链表。

2019-08-08 16:09:57 190

原创 考研笔记:数据结构之顺序表

基本概念线性表定义:长度为n的有序元祖。当n = 0时称为空表。线性表的基本操作是插入和删除。

2019-08-04 09:42:24 149

原创 LeetCode-23-Merge k Sorted Lists(合并K个排序链表)

题目解答直接使用了第21题的代码,两两进行比较。内存消耗和执行用时都比较大。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class ...

2019-07-30 22:55:11 93

原创 LeetCode-22-Generate Parentheses(括号生成)

题目给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/generate-parent...

2019-07-28 23:02:40 86

原创 LeetCode-21-Merge Two Sorted Lists(合并两个有序链表)

题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists解答...

2019-07-26 22:54:01 81

原创 LeetCode-20-Valid Parentheses(有效的括号)

题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()” 输出: true示例 2:输入: “()[]{}” 输出: true示例 3:输入: “(]” 输出: false示例 4:输入:...

2019-07-25 22:54:24 72

原创 LeetCode-19- Remove Nth Node From End of List(删除链表的倒数第N个节点)

题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-c...

2019-07-24 23:19:04 68

原创 LeetCode-18-4Sum(四数之和)

题目给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。来源:力扣(LeetCo...

2019-07-23 23:04:32 82

原创 LeetCode-17-Letter Combinations of a Phone Number(电话号码的字母组合)

题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。来源:力扣(LeetCode)...

2019-07-21 23:25:43 103

原创 LeetCode-16-3Sum Closest(最接近的三数之和)

题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).来源:力扣(LeetCode)链接:h...

2019-07-20 11:01:13 70

原创 LeetCode-15-3Sum(三数之和)

题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]来源:力扣(LeetCode)...

2019-07-19 23:49:07 79

原创 LeetCode-14-Longest Common Prefix(最长公共前缀)

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

2019-07-17 22:52:25 86

原创 LeetCode-13-Roman to Integer(罗马数字转整数)

题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小...

2019-07-16 22:59:08 86

原创 LeetCode-12-Integer to Roman(整数转罗马数字)

题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小...

2019-07-15 22:58:14 185

原创 LeetCode-11-Container With Most Water(盛最多水的容器)

题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示...

2019-07-14 22:02:44 75

原创 LeetCode-10-Regular Expression Matching(正则表达式匹配)

题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入: s = “aa” ...

2019-07-13 08:54:41 95

原创 LeetCode-9-Palindrome Number(回文数)

题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121 输出: true示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:...

2019-07-11 23:24:36 93

原创 LeetCode-8-String to Integer (atoi)(字符串转换整数)

题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可...

2019-07-10 12:43:40 117

原创 LeetCode-7-Reverse Integer(整数反转)

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

2019-07-09 22:04:05 144

原创 LeetCode-6-ZigZag Conversion(Z 字形变换)

题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例...

2019-07-07 23:08:59 102

原创 LeetCode-5-Longest Palindromic Substring(最长回文子串)

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

2019-07-06 14:11:15 99

原创 LeetCode-4-Median of Two Sorted Arrays(寻找两个有序数组的中位数)

题目给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3] nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2] nums2 = [3, 4]则中位数是 (2 ...

2019-07-05 19:51:49 116

原创 LeetCode-3-Longest Substring Without Repeating Characters(无重复字符的最长子串)

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

2019-07-03 15:03:56 82

原创 LeetCode-2-Add Two Numbers(两数相加)

题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...

2019-07-02 23:04:57 73

空空如也

空空如也

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

TA关注的人

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