自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 约瑟夫环:循环链表,数组

约瑟夫环1.循环链表设计思路流程图2.顺序表(数组实现)设计思路站成一圈,从1报数,报数为m则出列,求出列序列1.循环链表设计思路用循环链表实现逻辑结构#mermaid-svg-m1MrVLre4GvJ7Udw .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-m1MrVLre4GvJ7Udw .labe

2022-01-13 12:16:53 142

原创 一元三次方程

#include<iostream>#include<cmath>#include<stdio.h>using namespace std;double func(double a, double b, double c, double d, double x) { return (a * x * x * x + b * x * x + c * x + d);}double b_search(double a, double b, double c, dou

2022-01-13 12:00:46 203

原创 洛谷深基查找

#include<iostream>using namespace std;int b_search(int* a, int l, int r, int tgt) { int mid(0); mid= (l + r)/2; int ans(0); if (a[mid] > tgt) { if (l > r||l==r){ return -2; } else if(l<r){ return ans = b_search(a, l, mid ,

2022-01-13 11:59:50 157

原创 洛谷跳石头

#include<iostream>using namespace std;int check(int* a, int mid, int l, int n, int m) { int count(0); int i(1), now(0); if (a[0] < mid) { count++; i++; } while (i <= n) { if (a[i] - a[now] < mid) { count++; i++; } else

2022-01-13 11:57:36 162

原创 Java 作业数组——最小素数集

Java 作业数组——最小素数集package arrey_assignement;import java.util.Scanner;public class Primset { public static void main(String [] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int []numbs=new int [n]; for(int i=0;i<n;i+

2021-05-10 14:39:05 325

原创 leetcode#124二叉树中的最大路径和*困难

leetcode#124二叉树中的最大路径和*困难题目题解1.1后序遍历1.2复杂度1.3代码题目路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。提示:树中节点数目范围是 [1, 3 * 104]-1000 <= Node.val <= 1000题解1.1后序遍历看到后序遍历,就想到了分解问题进行递归

2021-02-01 20:35:05 82

原创 leetcode#236二叉树的最近公共祖先

leetcode#236二叉树的最近公共祖先题目示例注意题解1.递归1.1思路1.2复杂度1.3代码题目给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例注意说明:所有节点的值都是唯一的。p、q 为不同节点且均存在于给定的二叉树中。题解1.递归1.1思路分解成子问题1.2复杂度时间

2021-01-31 17:34:37 62

原创 leetcode#235二叉搜索树的最近公共祖先

leetcode#235二叉搜索树的最近公共祖先题目示例注意题解1.递归1.1思路1.2复杂度题目给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例注意说明:所有节点的值都是唯一的。p、q

2021-01-30 20:19:16 66

原创 leetcode#230二叉搜索数第k小的元素

leetcode#230二叉搜索数第k小的元素题目示例题解一.deep first search1.1思路1.2复杂度1.3代码题目给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。来源:力扣(LeetCode)链接:link示例题解一.deep first search1.1思路这个二叉树是排过序的,root->left,root,root->right值依次增

2021-01-29 19:17:50 63

原创 #leetcode104二叉树的最大深度搜索

#leetcode104二叉树的最大深度搜索题目示例题解DFS depth first search题目给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例题解DFS depth first searchclass Solution {public: int maxDepth(TreeNode* root) { if(root==NULL)

2021-01-28 17:42:16 105

原创 #leetcode10正则表达式匹配

#leetcode10正则表达式匹配题目注意题解一.动态递归1.1思路题目正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。注意0 <= s.length <= 200 <= p.length <= 30s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-

2021-01-27 20:55:19 114

原创 #10ERROR_s*p*

#leetcode10正则表达式匹配:ERROR_s*p*"ssipp"注意||“ssipp”与“s * p*”得到答案错误调试没反应注意||前面会改变后面用到的变量class Solution {public: bool f(string s, string p,bool star) { int i=s.length()-1; int j=p.length()-1; bool ans; if(p[j]=='*') {

2021-01-27 20:11:03 124

原创 leetcode#28实现strStr()

leetcode#28实现strStr()题目注意示例题解1.1顺序查找思路复杂度代码题目注意示例题解1.1顺序查找思路先找第一个字母,再进行比对。复杂度时间:O(n)空间:O(1)代码class Solution {public: int strStr(string haystack, string needle) { int len1=haystack.length(); int len2=needle.length();

2021-01-25 16:54:58 73

原创 #leetcode151. 翻转字符串里的单词

151. 翻转字符串里的单词题目提示:进阶:示例题解一.对称后缀1.1思路1.2用到的函数:1.3复杂度代码题目给定一个字符串,逐个翻转字符串中的每个单词。无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。提示:1 <= s.length <= 104s 包含英文大小写字母、数字和空格 ’ ’s 中 至少存在一个 单词进阶:请尝试使用 O(1) 额外空间复杂度的原

2021-01-24 17:39:19 126

原创 leetcode#14最长公共前缀

leetcode#14最长公共前缀题目题解2.1对比删减代码题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。题解2.1对比删减代码class Solution {public: string longestCommonPrefix(vector<string>& strs) { int len=strs.size(); if(len==0) return ""; el

2021-01-23 14:39:07 74

原创 leetcode#43. 字符串相乘

leetcode#431.problem2.sulotion2.1先乘再进位复杂度代码实现2.2先乘各个位再求和1.problem给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。2.sulotion2.1先乘再进位复杂度时间:O(m*n)空间O(1)代码实现class Solution {public: string multiply(string num1, string num2) {

2021-01-22 21:50:32 105 1

原创 leetcode#137只出现一次的数字

leetcode#137只出现一次的数字一.题目二.题解2.1进制位运算思路复杂度代码一.题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?来源:力扣(LeetCode)链接:link二.题解2.1进制位运算思路有3个相同的数,它们的二进制表示相同。(内存中,数字以二进制表示)所以各个位要么有3个1要么全为0.对那个只出现一次的数字,它的各个位要么是1要么是0

2021-01-21 21:30:52 122

原创 leetcode#136只出现一次的链表

leetcode#136只出现一次的链表一.题目二.题解2.1位运算思路代码一.题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?来源:力扣(LeetCode)链接link二.题解2.1位运算思路a⊕a=0a⊕a=0a⊕a=0a⊕0=aa⊕0=aa⊕0=a代码class Solution {public: int singleNumber(vec

2021-01-20 19:36:54 78

原创 leetcode#148排序链表

leetcode#148排序链表一.题目二.思路2.1(错误思路)链表数组2.1.1细节2.1.2 代码实现2.2分治2.2.2递归分治思路复杂度代码2.2.3迭代分治思路复杂度代码实现一.题目给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-list著作权归领扣网络所有。

2021-01-19 21:45:29 105

原创 leetcode一定要及时提交,保存到云端

leetcode一定要及时提交,保存到云端,笔记本触摸一碰什么都没了

2021-01-19 19:33:51 1587

原创 leetcode#142环形链表II

环形链表II一.题目二.思路:快慢指针三.代码**调试错误:一.题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?来源:力扣(LeetCode)链接:link二.思路:快慢指针2∗(a+b)=a+n∗(b+c)+b2*(a+b)=a+n*(b+c)+b2∗(a+b)=a+n∗(b+c)+b化简a=c+(n−1)∗(b+c)a=c+(n-1)*(b+c)a=c+(n−1)∗(b+c)

2021-01-18 21:54:55 81

原创 leetcode#2 两数相加

leetcode#2 两数相加一.题目二.思路2.1链表-》数-》链表2.2进位法一.题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。二.思路2.1链表-》数-》链表usigned long long int都hold不住class Solution {public: unsigned long l

2021-01-17 22:22:16 64

原创 01-17errors

排错:expected unqualified-idif((l1->next==NULL)&&(l2->!=NULL))一个低级但是不好定位的编译错误,常见的问题是:语句的 { 括号不匹配。缺少 ; , 特别是类的定义或声明,枚举的定义。变量名或函数名使用了保留字。博客园Kinsang:链接: link此处撰写解题思路用int10*999999999overflow调试:不止一个这样的数用long long int10 * 1000000000

2021-01-17 22:14:38 50

原创 leetcode#141环形链表

141. 环形链表一.题目1.1题目描述1.2 示例1.3题目提示二.题解2.1辅助指针数组2.1.1思路2.1.2复杂度分析2.1.2代码实现2.2切断法2.2.1思路2.2.2复杂度分析(两种实现方法)2.3快慢指针2.3.1思路2.3.2复杂度时间:O(n)空间O(1)2.3.3代码一.题目1.1题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置

2021-01-16 19:52:00 85

原创 leetcode#21两个有序链表的合并

leetcode#21两个有序链表的合并一.题目将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2

2021-01-15 22:18:44 106

原创 # leetcode#5最长回文数C++

leetcode#5最长回文数思路对每一个字符,检测它与它旁边的数是否为回文数,如果是,那么再扩展它 的长度检查,分奇偶情况讨论,得到以该字符为中心最长的回文数。在遍历过程中用max[2]储存该目前最长的回文数位置和长度。这样算法时间复杂度为O(n^2)。代码实现不甘放弃class Solution {public: string longestPalindrome(string s) { int len=s.size(); if(len==0||len=

2021-01-13 22:30:36 795

原创 #(系统错误)#leetcode#5最长回文数

(错误)leetcode#5最长回文数思路对每一个字符,检测它与它旁边的数是否为回文数,如果是,那么再扩展它 的长度检查,分奇偶情况讨论,得到以该字符为中心最长的回文数。在遍历过程中用max[2]储存该目前最长的回文数位置和长度class Solution {public: string longestPalindrome(string s) { int len=s.length(),check(1); int max[2]={0,1}; if(len==1)

2021-01-13 22:01:16 76

原创 # leetcode#155最小栈

leetcode#155最小栈一.题目设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[nu

2021-01-12 21:59:09 69

原创 # leetcode#20有效的括号

leetcode#20有效的括号题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。思路循环字符串,把左边各种括号压入栈。如果遇到右括号,则跟栈顶的符号比较。如果匹配,则栈顶元素出栈,不匹配则返回false示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入:

2021-01-11 23:04:04 78

原创 leetcode#9回文数

leetcode#9 回文数题目判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例输入输出121true输入输出-----------121false输入输出----------10false解释:-121倒序121-不一样。题解可见负数均不为回文数,对于回文数的检测,先取其各个数位,再将头和尾进行比较,奇数位则中间的一个不比较,奇数位和偶数位数字的检验可以通过巧妙设置循环条件用

2021-01-10 20:19:25 70

原创 leetcode#7整数反转,用数组解

leetcode#7整数反转用数组解一.题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。1.1注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,231−1] [−2^{31} ,2^{31} − 1][−231,231−1]请根据这个假设,如果反转后整数溢出那么就返回 01.2示例leetcode#7整数反转xoutput123-123-123-3211202100

2021-01-09 20:43:06 106

原创 形如a^3= b^3 + c^3 + d^3的等式被称为完美立方等式。例如 123= 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c,

完美立方形如a^3= b^3 + c^3 + d^3的等式被称为完美立方等式。例如123= 63 + 83 + 103 。编写一个程序,对任给的正整数N(N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 +c3 + d3,其中a,b,c,d 大于1, 小于等于N,且b<=c<=d。输入一个正整数N (N≤100)。输出每行输出一个完美立方。输出格式为:Cube = a, Triple = (b,c,d)其中a,b,c,d所在位置分别用实际求出四元组值

2020-11-11 09:28:41 4153 2

空空如也

空空如也

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

TA关注的人

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