- 博客(43)
- 收藏
- 关注
原创 LC 19. 删除链表的倒数第N个结点
19. Remove Nth Node From End of List方法一:双指针算法思想:我们可以用两个指针,p , q,分别指向最后一个结点,和指向需要被删除结点的前驱结点。我们先让p指向第n个结点,之后p,q一起向后同步移动,间隔不变。直到p到达最后一个结点。这个时候q为我们需要删除结点的前驱结点。// C语言版本/** * Definition for singly-linked list. * struct ListNode { * int val; * s
2021-09-19 02:01:37
165
1
原创 解决Chrome浏览器登录neo4j“ NotFoundError: Failed to execute ‘removeChild‘ on ‘Node‘: The node is not a chil
原因: neo4j数据库登录之前不能翻译为中文解决:将浏览器翻译功能关闭即可
2021-06-17 14:33:24
1756
3
原创 View function mapping is overwriting an existing endpoint function: upload_file解决方法
请看https://blog.csdn.net/qq_41805514/article/details/80614701from flask import Flask, render_template, requestfrom werkzeug.utils import secure_filenameapp = Flask(__name__)@app.route('/upload')def upload_file(): return render_template('upload.ht
2021-06-03 20:01:29
1249
原创 2021-05-07
MySQL(黑马程序员视频笔记)一、Mysql概述二、Mysql数据类型和约束Mysql数据库的安装Mysql数据库服务端启动Mysql配置文件navicat介绍和安装Navicat的基本使用1. Navicat连接Mysql服务端Navicat-小结navicat是一款图形化界面的数据库客户端软件navicat可以连接数据库的服务端navicat可以创建和删除数据库操作navicat可以创建和删除表操作navicat可以对数据进行CRUD操作
2021-05-09 15:09:49
136
原创 su root 认证失败如何解决
遇到su root认证失败的情况,这是因为root没有初始化。初始化的步骤如下:ctr+Alt+T打开终端,然后输入sudo passwd(不是password) root,之后会提示Enter new UNIX password: 输入新密码,然后提示Retype new UNIX password: 再次输入上次输入的密码就OK了...
2021-05-07 15:57:27
1062
原创 Ubuntu——apt终端命令
使用apt更新和升级系统软件apt是Advanced Packaging Tool,是Ubuntu下的 安装包管理工具大部分的软件安装/更新/卸载都是利用apt命令来实现的直接在终端中输入apt即可以查阅命令的帮助信息常用命令如下:# 1. 安装软件$ sudo apt install 软件名# 2. 卸载软件$ sudo apt remove 软件名# 3. 更新可用软件包列表$ sudo apt update# 4. 更新已安装的包$ sudo apt upgrade
2021-05-06 22:35:47
174
原创 2021.4.13(801/802/804)
2021.4.13801.使序列递增的最小交换次数int minSwap(int *A, int ASize, int *B, int BSize){ int i; int dp[ASize][ASize]; for (int i = 0; i < ASize; i++) { for (int j = 0; j < BSize; j++) { dp[i][j] = 0; } }
2021-04-13 22:00:35
101
原创 (2021.4.12)Japan to announce FuKushima water release into sea soon
文章来自LearnAndRecode微信公众号。近日,日本政府表示“基本决定”将福岛第一核电站核污水排入大海。
2021-04-12 15:36:26
160
原创 前端(HTML5基础学习笔记)
以下学习路线都是基于自己看的黑马程序员视频总结而来学习路线:HTML5 -> CSS3 -> H5C3一、HTML简介1. 网页2. 常用游览器3. Web标准(重点)二、HTML 标签(上)2. HTML 基本结构标签3. 网页开发工具vscode!:直接可以出来页面的框架ctrl + :可以改变字体大小3.1<!DOCTYPE html><html lang="zh-CN"><head> .
2021-04-02 16:45:33
192
原创 《计算机组成原理》——第一章 计算机系统概述
接下来的这些文章,都是我现在准备考研复试,整理出来的笔记。每周都会进行更新。笔记的图片截屏主要是来自2021年王道计算机组成原理的视频。第一章 计算机系统概述1.1 计算机发展历程计算机硬件唯一能够识别的数据———二进制 0/1用低 / 高电平分别表示 0/1通过电信号传递数据什么是计算机系统?计算机系统 = 硬件 + 软件硬件:计算机的实体,如主机、外设等软件:由具有各类特殊功能的程序组成系统软件:用来管理整个计算机系统(eg:操作系统、数据库管理系统(DBMS).
2021-01-09 15:53:36
219
原创 图
图二、图的存储及基本操作图的存储必须要完整、准确地反映顶点集和边集的信息。2.1 邻接矩阵法所谓邻接矩阵存储,是指一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息(即各顶点之间的邻接关系),存储顶点之间邻接关系的二维数组称为邻接矩阵。#define MaxVertexNum 100 //顶点数目的最大值typedef char VertexType;
2020-12-28 21:43:35
124
原创 专业课习题总结 第一部分 线性表
专业课习题总结(第一部分 线性表)第一部分 线性表1.1 顺序存储习题(P19~P20)顺序表逆置(P19/2)//方法一:for(int i=0,j=n-1;i<j;i++,j--){ int temp=L.data[i]; L.data[i]=L.data[j]; L.data[j]=L.data[i];}//方法二:for(int i=0;i<L.length/2;i++){ int temp=L.data[i]; L.data[i]=L.d
2020-12-28 21:42:34
367
原创 文件操作
注意:若文件不存在:w新建一个文件,若文件存在,w会将原文件内容覆盖用a打开文件:要求该文件必须存在,保留原文件内容,在文件末尾添加若文件不存在:r+打开会失败,w+则会新建一个文件若文件存在:r+不清空文件,w+则清空文件,因此当文件存在时要慎用w+按格式读写文件#include <stdio.h>#include <stdlib.h>FILE *stream;int main(void){ long l; float fp...
2020-12-02 23:07:26
109
原创 c动态规划精简例题
c动态规划精简例题1. 单序列型爬楼梯//1.爬楼梯int minCostClimbingStairs(int cost[], int n){ int dp[n]; dp[0] = cost[0]; dp[1] = cost[1]; for (int i = 2; i < n; i++) { dp[i] = min{dp[i - 1], dp[i - 2]} + cost[i]; } return min{dp[n
2020-11-23 17:23:48
167
1
原创 八皇后问题
小节:处理好限制条件。这里将二维限制条件,变成了一维限制条件,自己要学会关于回溯关于打印。如果将一维的转化为二维 代码伪代码genrate(0);void genrate(int n){ int col; for(col=0;col<8;col++) { if(不冲突) { 放置,并宣布占领; if(n<7)
2020-11-23 17:17:16
378
1
原创 DFS和BFS典型例题
DFS和BFS典型例题1、DFSDFS模板:void dfs()//参数用来表示状态{ if(到达终止状态)//递归出口 { ...//根据题意来添加 return; } if(越界或者不合法状态) return; else { for(扩展方式) { if(扩展方式所达到的合法状态) {
2020-11-23 15:19:15
1009
2
原创 初始化数组
#include<string,h>int v[1005];int main(){ memset(v,0,sizof(v)); ...}
2020-11-22 15:05:04
72
原创 多组数据处理循环方式
当出现多组数据需要处理的时候:这个时候我们可以用int main(){ int n; while (scanf("%d", &n) != EOF) { ... }}或者int n;scanf("%d", &n);while (n--){ ...}或者int n;scanf("%d", &n);for (int i = 1; i <= n; i++){ ...}...
2020-11-21 16:46:17
636
原创 排序
排序一、内部排序1.1 插入排序算法思想:将待排序的记录按其关键字大小插入到前面已排好序的子序列中1.1.1直接插入排序void InsertSort(int A[],int n){ int i,j,temp; for(i=1;i<n;i++) //假设第一个元素是已经排好序的,A[0],则从A[1]开始遍历 { temp=A[i]; for(j=i-1;j>=0&&A[j]>
2020-11-17 15:32:53
106
原创 王道课后习题总结(第二部分 栈和队列)
第二部分栈和队列2.1 栈设单链表的表头指针为L,结点结构由data和next两个域组成,其中data域为字符型。试设计算法判断该链表的全部n个字符是否中心对称。例如xyx,xyyc都是中心对称。//算法思想:使用栈来判断链表中的数据是否中心对称。让链表的前一半元素依次进栈。在处理链表的后一半元素时,当访问到链表的一个元素后,就从栈中弹出一个元素,两个元素比较,若相等,则将链表中的下一个元素与栈中再弹出的元素比较,直至链表到尾。这时若栈是空栈,则得出链表中心对称的结论;否则,当链表中的一个元素与栈
2020-11-17 14:28:40
1509
原创 专业课习题总结 (第二部分 树)
专业课习题总结 (第二部分 树)二叉树(P149~P151)写出二叉树的自下而上、从右到左的层次遍历算法//用栈二叉树采用二叉链表存储结构,设计一个非递归算法求二叉树的高度//曾层次遍历,设定一个last;int Btdepth(BiTree T){ while(front<rear) { ...(层次遍历) if(front==last) { level++; last=rear; }
2020-11-17 14:27:18
1188
原创 用于多路选择的switch语句
用于多路选择的switch语句switch(表达式){ case 常量1: 可执行语句序列1; case 常量2: 可执行语句序列2; . . . case 常量n: 可执行语句序列n; default: 可执行语句序列n+1; }类似于if-else语句,被检测的表达式写在关键字switch后面的圆括号中,表达式只能
2020-11-08 15:10:36
292
原创 结构体(Structure)
结构体(Structure)结构体解决目的:将不同类型的数据成员组成到统一的名字之下,适合于对关系紧密、逻辑相关、具有相同或者不同属性的数据进行处理,尤其是数据库管理中得到了广泛应用。结构体模板:struct 结构体名{ 数据类型 成员1的名字; 数据类型 成员2的名字; .... 数据类型 成员n的名字;}注意:结构体模板只有声明了一种数据类型,定义了数据的组织形式,并未声明结构体类型的变量,因而编译器不为其分配内存,正如编译器不为int型分配内存。定义结构
2020-11-07 15:13:35
1391
原创 线性表
第一部分 线性表顺序表顺序存储结构类型:#define MaxSize 50typedef struct{ int data[MaxSize]; int lengthl}SqList;顺序存储的基本操作:1、插入操作(insert)bool ListInsert(SqList &L,int i,int e)//我要在i之前插入元素e{ for(int j=L.Length;j>=i;j--) L.data[j]=L.data[j-1]
2020-11-05 19:32:22
83
原创 字符串笔记
字符串笔记字符串(String)实际就是由若干有效字符构成且以字符’\0’作为结束的一个字符串序列。1.1字符串的存储字符串的结尾一定得是以 '\0’结尾。//1、以字符的形式存储char atr[6]={'H','e','l','l','o','\0'};//不要遗漏'\0'//2、以字符串的形式存储char str[]={"Hello"};char weekday[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday
2020-11-03 17:05:26
186
原创 第三轮测试卷一(2020.10.29)
第三轮测试卷一(2020.10.29)试卷分析:本试卷的问题主要是:DFS还没有掌握,最小生成树和0-1背包的代码没有记住,且最小生成树不知道怎么运用到实际中去。而第5题的思路很新奇,自己需要积累。第8题自己不熟悉。铺石板,输入n x m的广场,和a x a的石板,求最少需要多少石板?/*算法思想:没啥。。。。理解向上取整就行*/num=((n+a-1)/a)*((m+a-1)/a);用的0-1背包找铺水管一共有多少种铺法?//算法思想:DFS#include
2020-10-31 14:58:15
79
原创 第三轮测试卷一(2020.10.29)
第三轮测试卷一(2020.10.29)铺石板,输入n x m的广场,和a x a的石板,求最少需要多少石板?/*算法思想:没啥。。。。理解向上取整就行*/num=((n+a-1)/a)*((m+a-1)/a);用的0-1背包找铺水管一共有多少种铺法?//算法思想:DFS#include<stdio.h>#include<string>int n,m;char maze[105][105];int vis[105][105];int
2020-10-31 14:56:34
104
原创 第三轮测试卷一(2020.10.29)
第三轮测试卷一(2020.10.29)铺石板,输入n x m的广场,和a x a的石板,求最少需要多少石板?/*算法思想:没啥。。。。理解向上取整就行*/num=((n+a-1)/a)*((m+a-1)/a);用的0-1背包找铺水管一共有多少种铺法?//算法思想:DFS#include<stdio.h>#include<string>int n,m;char maze[105][105];int vis[105][105];int
2020-10-30 19:39:09
86
原创 第二轮算法模拟试卷(2020.10.28)
第二轮算法模拟试卷(2020.10.28)这套试卷总体简单,主要有些思想自己还需要掌握下。关于存储问题,和动态规划的边界条件自己要多注意下。以及如何写注释。关于1.3.2 2.3.5的输入问题:scanf("%d.%d.%d %d.%d.%d",&X1,&Y1,&Z1,&X2,&Y2,&Z2);输入A,B,N,要求输出A/B的结果保留N位小数/*算法思想:本质是就是要我们模拟手动进行除法运算。两数相除,计算余数,余数进位(即乘以1
2020-10-29 21:13:41
123
原创 动态规划(Dynamic Programming)
动态规划(Dynamic Programming)目的:是为解决多阶段决策过程的优化问题,即把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。动态规划思想将待求解问题分解成若干个不独立的子问题,求出子问题的解并记录在表中,当需要再次求解此子问题时,可以通过查表获得该子问题的解而不用再次求解,从而避免了大量的重复计算。最后结合这些子问题的解即可得到员问题的解。解题思路:分析问题的最优子结构性质:一个最优策略的子策略总是最优的建立递归关系自下而上计算最优值根据计算最优值时
2020-10-25 20:41:11
457
原创 贪心算法
贪心算法1、贪心选择性质指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。动态规划算法通常以自底向上的方式解各个子问题,而贪心算法通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题简化为规模更小的子问题。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所作的贪心选择最终导致问题的整体最优解。2、最优子结构性质和动态规划一样。...
2020-10-18 21:13:22
73
原创 排序
排序一、内部排序1.1 插入排序1.1.1直接插入排序void InsertSort(int A[],int n){ int i,j,temp; for(i=1;i<n;i++) //假设第一个元素是已经排好序的,A[0],则从A[1]开始遍历 { temp=A[i]; for(j=i-1;j>=0&&A[j]>temp;--j) //for循环内逻辑:先初始化——>
2020-10-18 21:11:15
87
原创 树
树一、二叉树1.1链式存储:typedef struct BiTNode{ ElemType data; //数据域 struct BiTNode *lchild,*rchild; //左右孩子指针域}BiTNode,*BiTree;1.2二叉树的遍历1.先序遍历递归算法:void PreOrder(BiTree T){ if(T!=NULL){ visit(T);
2020-10-18 21:10:28
626
原创 回溯算法
回溯算法回溯法是一种以深度优先方式系统搜索问题解的算法,有“通用解题法”之称,可以系统地搜索一个问题地所有解或任一解,是一种既带有系统又带有跳跃性地搜索算法。基本思想在问题的解空间树中,按深度优先策略从根节点出发搜索解空间树算法搜索至解空间树的任一结点时,先判断该结点是否包含问题的解如果肯定不包含,则跳过以该结点为根的子树搜索,逐层向其祖先结点回溯否则,进入该子树,继续按深度优先策略搜索回溯法求问题的解时,要回溯到根,且根节点的所有子树都已经被搜索到才结束。问题的解空间用回溯法解
2020-09-20 10:19:39
625
原创 分治递归
一、递归分治这里的很多资料,都是我从网上看别人的博客,或者从书上摘录下来的,如有侵权,请联系我,立马删帖1.1 分治法分治法(Divid-and-Conquer):将问题划分为n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题地解。分治模式在每一层递归上都有三个步骤:分解(Divide):将原问题解成一系列子问题;解决(Conquer):递归地解决各个子问题。若子问题足够小,则直接求解。合并(Combine):将子问题的结果合并成原问题的解。
2020-09-20 10:17:38
754
原创 Leetcode: 392. 判断子序列
bool isSubsequence(char *s, char *t){ int i, j, k = 0; int flag = 0; //保证每次都是从已经找到的字符后面开始寻找 int temp = 0; for (i = 0; s[i] != '\0'; i++) { for (j = k; t[j] != '\0'; j++) { if (s[i] == t[j]) {
2020-07-27 20:59:39
99
原创 《程序员修炼之道——通向务实的最高境界》读书笔记
第一章 务实的哲学务实的程序员的特质是什么?是他们面临问题时,在解决方案中透出的态度、风格及理念。他们总是越过问题的表面,试着将问题放在更宽泛的上下文中综合考虑,从大局着想。毕竟,若不去了解来龙去脉,结合实际如何谈起?又怎能做出明智的妥协和合理的决策?人生是你的你有权选择在所有弱点中,最大的弱点就是害怕出现弱点我的源码被猫吃了在面对缺点时也必须诚实——承认我们犯了错误,而且是因为我们的无知而犯下的。提供选择,别找借口给出选择,而不是找借口。不要说搞不定;解释一下
2020-07-20 11:11:32
634
原创 02 学生成绩表(C语言)
题目:某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过40人参加考试。请编程计算:(1)每个学生的总分和平均分;(2)每门课程的总分和平均分。//二维数组输入学生的成绩#include <stdio.h>#define STUD_N 40 //最多学生人数#define COURSE_N 3 //考试科目数void ReadScore(int score[][COURSE_N], long num[], int n);void AverforStud(in
2020-07-19 15:20:14
4087
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人