自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode1、两数之和

1、两数之和解法一:暴力循环public int[] twoSum(int[] nums, int target){ for(int i =0; i< nums.length; i++){ for(int j =i+1; j<nums.length;i++){ if(nums[i] + nums[j] == target){ return new int[] {i,j}; }

2022-04-23 15:08:49 339

原创 力扣刷题笔记

类 StringBuilder类 String 表示字符串, 比如“ abc ”。 类 StringBuilder 表示可改变大小的字符序列( sequence of characters ),多个字符组成字符序列,字符序列和字符串是同一个意思。二者的区别在于, String 类型的字符串是常量,字符串创建出来后不允许修改。而 StringBuilder 类型的字符串是可修改的。类 StringBuilder 有两个核心的 API ,分别是 append 和 insert 。前者的功能是在原来的字符串的

2022-04-23 15:06:36 346

原创 416. 分割等和子集

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2: 输入: [1, 2, 3, 5] 输出: false 解释: 数组不能分割成两个元素和相等的子集.提示:1 <= nums.length <= 2001 <= nums[i] <=

2021-12-28 20:04:01 519

原创 01背包问题动态规划

背包问题举例:动态规划五部曲:1、确定dp数组以及下标i的含义:dp[i][j] 表示的就是从下标为0-i 的物品中取,放进容量为 j 的背包,所获得的最大总和价值;2、递推公式:dp[i][j] = max(dp[i-1][j] , dp[i-1][j - weight[i]]+value[i])这里指的是,dp[i][j] 的状态可能有两种情况推导而来,①背包放不下物品 i , 那么此时的背包仍为dp[i-1][j] ; ② 背包能放下物品 i ,此时留给前面下标为1-i-1的物品的容量为j-

2021-12-27 22:18:21 404

原创 动态规划五部曲——力扣周总结

本文是根据代码随想录内容所改编,里面加了自己一些笔记,主要内容版权归代码随想录所有,详情请见代码随想录网站,该文是为了自己回忆和方便温习。62、不同路径力扣链接一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?输入:m = 3, n = 7 输出:28总结动态规划算法五部曲:1、确定dp数组和下标含义:2、确定递推公式3、dp

2021-12-26 14:20:05 1267

原创 贪心算法总结

贪心算法:从局部最优-》全局最优——摘自代码随想录

2021-12-20 19:16:19 65

原创 动态规划——使用最小花费爬楼梯 Leetcode746

思路:1、第i级台阶是第i-1级台阶的阶梯顶部。2、踏上第i级台阶花费cost[i],直接迈一大步跨过而不踏上去则不用花费。因此到达第i级台阶的阶梯顶部的最小花费,有两个选择:1、先付出最小总花费minCost[i-1] 到达第i级台阶(即第i-1级台阶的阶梯顶部),踏上第i级台阶需要再花费cost[i],再迈一步到达第i级台阶的阶梯顶部,最小总花费为**(minCost[i-1] + cost[i])**;2、先付出最小总花费minCost[i-2] 到达第i-1级台阶(即第i-2级台阶的阶梯

2021-12-11 11:25:33 234

原创 动态规划——爬楼梯 Leetcode 70

动态规划——爬楼梯

2021-12-11 11:01:29 205

原创 回溯解决电话号码的字母组合——leetcode17

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].思路:输入23,暴力法就是直接两层for循环,如果输入233,就是三层for循环。如果输入数字过多,循环次数过多,因此需要用到回溯法。难点:数字与字母的映射问题两个字母两个for循环,以此类推,发现有难度。输

2021-09-19 10:58:41 254

原创 回溯解决组合总和问题——leetcode216

题:找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。思路:相对于回溯算法的组合问题77多了一个限制,即找到和为n的k个数的组合,而整个集合已经是固定的了[1,…,9]。回溯三要素:返回值和参数: void参数:同组合问题,需要一个二维数组存放结果集合,和一个一维数组存放符合条件的结果。vector<vector<int>> result;vector<int> path;此时还需要一个

2021-09-18 22:25:19 368

原创 回溯解决组合问题——leetcode77

给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。例:输入:n=4,k=2输出:[[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]思路:回溯法的经典问题直接解法:使用循环,这里k=2,可以使用两个for循环,代码如下:int n=3;for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ cout<<i<<" "<<j<<en

2021-09-16 16:55:35 191

原创 回溯算法概括

1、回溯是递归的副产品,只要有递归就会有回溯。2、回溯的本质是穷举,所以并不高效。3、回溯法可以解决的问题:(1)组合问题:N个数中按一定规则找出k个数的集合(2)排列问题:N个数按一定规则全排列,有几种排列方式(3)切割问题:一个字符串按一定规则有几种切割方式(4)子集问题:一个N个数的集合里面有多少符合条件的子集(5)棋盘问题:N皇后,解数独等等4、如何理解回溯法:(1)可以抽象成树形结构(2)因为回溯法解决的都是在集合中递归查找子集,集合的大小构成了树的宽度,递归的深度,都构成了树

2021-09-16 14:52:26 119

原创 Leetcode刷题——二叉树的层次遍历

1、需要队列,队列先进先出,符合一层一层遍历的逻辑,而栈先进后出就符合递归(深度优先遍历)的逻辑。2、层级遍历就是图中的广度优先遍历。3、层次遍历的模板:4、给定一个二叉树,返回其节点值自底向上的层次遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)(107)解法:相对于层次遍历,就是最后把result数组翻转一下就可以。5、给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。即右视图。(199)解法:层序遍历的时候,判断是否遍历到单层的最

2021-09-15 16:23:32 207

原创 二叉树遍历中递归与迭代的区别

1、时间复杂度:递归与迭代差不多(在不考虑函数调用开销和函数调用产生的堆栈开销)。递归2、空间复杂度:递归开销大一些,因为递归需要系统堆栈存参数返回值等。总之,递归更容易理解,但收敛不好,容易栈溢出。在实际项目开发,应该避免递归,因为项目代码参数,调用关系比较复杂不容易控制递归深度,甚至会栈溢出。...

2021-09-15 15:00:42 298

原创 leetcode刷题——遍历二叉树的迭代法所用的栈知识

1、C++中栈(stack)的使用(1) 定义stack 对象的示例代码如下: stack<int> s1; stack<string> s2;(2) stack 的基本操作有: a) 入栈,如例:s.push();在栈顶增加元素 b) 出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。 c) 访问栈顶,如例:s.top() d) 判断栈空,如例:s.emp...

2021-09-15 10:33:43 138

原创 Introduction——2019_IEEE_TKDE_Gan_Survey_of_Utility_Mining

IntroductionData mining [1], [2] focuses on extraction of information from a large set of data and transforms it into an easily interpretable structure for further use.extraction:提取物;抽取。Interpretable:可说明的;可判断的。数据挖掘[1],[2]侧重于从大量数据中提取信息,并将其转换为易于解释的结构以供

2021-09-13 21:13:42 215

翻译 LaTeX学习指南

什么是LaTeX?是一种用于创建具有专业外观的文档的工具。用户只需关注文档的内容,而计算机将负责格式化。与 Word 一样,用户可以输入纯文本并让LaTeX处理其余的工作,但不像Word 那样将页面上的文本间隔开来控制格式。为什么要学习LaTeX?LaTeX在世界各地用于科学文献、书籍以及许多其他形式的出版。它不仅可以创建精美的排版文档,而且允许用户非常快速地处理排版中更复杂的部分,例如输入数学、创建目录、参考和创建参考书目以及在所有部分中具有一致的布局。人们使用LaTeX的最重要原因之一是它将文档

2021-08-21 22:09:16 1900

原创 node.js的buffer

buffer的结构和数组很像,操作的方法也和数组类似;数组中不能存储二进制文件,而buffer就是专门存储二进制数据;使用Buffer不需要引入模块,直接使用即可在buffer中存储的是二进制数据,而显示时都是以16进制形式显示buffer中每一个元素是从00-ff 0-255Buffer中的一个元素占内存的1个字节buffer的大小一旦确定,不能修改。只要数字在控制台或者页面输出,一定是十进制buffer.from(str) 将一个字符串转换为bufferbuffer.alloc(si

2021-01-18 21:08:15 109

原创 npm包

通过npm下载的包都放到node_modules文件夹中,通过npm下载的包,直接通过包名引入即可。node在使用模块名字来引入模块式,它会首先在当前目录的node_modules中寻找是否含有该模块,如果有则直接使用,如果没有则去上一级目录的node_modules中寻找,如果没有则去上一级目录寻找,直到找到位置。直到找到磁盘的根目录,如果依然没有,报错。...

2021-01-18 19:55:26 116

原创 Node.js的学习内容——exports和mdule.exports

通过exports只能使用.的方式向外暴露内部变量 如exports.xxx=xxx而module.exports既可以通过.的形式,也可以直接赋值 如module.exports.xxx=xxx module.exports={}

2021-01-18 09:31:42 110

原创 Qt5开发步骤及实例:概念解析

一、信号和槽机制(Signal&Slot)信号会在某个特定情况或动作下被触发,槽是等同于接收并处理信号的函数。

2019-09-10 15:44:05 612

转载 第一次使用QT5实现“当用户输入一个圆的半径后,可以显示计算后圆的面积值”

博主一篇很好的文章https://blog.csdn.net/weixin_41098116/article/details/100588263

2019-09-10 08:35:00 351

原创 软考复习——计算机系统知识

刚开学,感觉学习任务比较重,报考了教资和软考,不过还是把主要重心放在软考复习上,昨天学习了第一章——计算机系统知识,前面一部分内容老师在程序员培训课程上讲了,在寝室的时候再复习了一下课堂上的部分,并且学习完了第一章,做了关于这章节的真题。复习方式主要是依靠ppt课件总结的知识点对照书本内容学习,再联系PPT上的真题练习,把真题记录在课本上,然后有困惑的地方做好标记,等下次上课的时候重点听或者询问...

2019-09-05 21:16:26 265

原创 MVC与smarty的关系

2019-08-16 10:35:13 137

原创 Smarty

1、Smarty是模板(html+css)引擎技术之一,可以使得php代码与html代码分离的技术都称为模板引擎技术。开发人员进行分工:php程序员:专门负责php代码编写美工人员:专门负责页面的html+css代码编写DBA(database administrator)数据库管理员系统维护人员引用数组运用对象地址栏传参读取配置文件中的值模板引入...

2019-08-14 15:44:12 116

原创 tp5项目开发一

一、模板继承二、利用标签简化项目外部资源的引入css使用标签时,可以将load换成css,效果相同。三、ajax提交验证登录方法创建用户模型

2019-07-31 17:29:13 561

原创 tp5视图

<?phpnamespace app\index\controller;use app\index\model\User as UserModel;class User{ //新增一条数据方法 // public function add(){// $user=new UserModel();// $user->name ='流云';...

2019-07-13 11:47:48 261 1

原创 THINKPHP5框架操作数据库

获取当前域名:传递参数获取所有参数也可以使用助手函数获取所有参数获取单个参数更改变量伪静态 在config 里设置’url_html_suffix’=>’’获取后缀信息插入数据修改数据删除数据查询数据使用查询构造器添加数据修改数据查询数据无条件时有条件时删除数据添加数据修改数据链式查询数据查询构造器查询数据1、单条: ->find...

2019-07-12 10:46:38 409

原创 C语言实例六

题目:用*号输出字母C的图案。程序分析:可先用’*'号在纸上写出字母C,再分行输出。#include "stdio.h"int main(){printf("用 * 号输出字母 C!\n");printf(" ****\n");printf(" *\n");printf(" * \n");printf(" ****\n");}...

2019-07-10 09:19:44 138

原创 PHP MySQL 读取数据

1、MySQLi - 面向对象 <?phpheader("Content-type:text/html;charset=utf-8");$servername = "localhost";$username = "root";$password = "root";$dbname = "myDB";// 创建连接$conn = new mysqli($servername, ...

2019-07-09 21:17:00 1784

原创 PHP MySQL 预处理语句

1、(MySQLi 使用预处理语句)<?phpheader("Content-type:text/html;charset=utf-8");$servername = "localhost";$username = "root";$password = "root";$dbname = "myDB";// 创建连接$conn = new mysqli($servername...

2019-07-09 17:08:57 181

原创 使用 MySQLi 和 PDO 向 MySQL 插入数据

1、(MySQLi - 面向对象)<?phpheader("Content-type:text/html;charset=utf-8");$servername = "localhost";$username = "root";$password = "root";$dbname = "myDB"; // 创建连接$conn = new mysqli($servername...

2019-07-09 16:31:58 544

原创 使用 MySQLi 和 PDO 创建 MySQL 表

1、(MySQLi - 面向对象) <?php header("Content-type:text/html;charset=utf-8"); $servername = "localhost"; $username = "root";$password = "root";$dbname = "myDB";// 创建连接$conn = new mysqli($server...

2019-07-09 16:08:52 185

原创 PHP MYSQL 创建数据库

1、实例 (MySQLi - 面向对象)<?phpheader("Content-type:text/html;charset=utf-8"); $servername = "localhost";$username = "root";$password = "root";// 创建连接 $conn = new mysqli($servername, $username, ...

2019-07-09 15:44:51 256

原创 PHP连接关闭mysql

PHP操作mysql事实上:PHP本身不能操作mysql,但是Php有扩展可以实现mysql:PHP 借助扩展来实现操作Mysqlphp操作mysql的扩展有:mysql、mysqli和PDO扩展mysql扩展:纯面向过程,里面都是函数,加载扩展后可以调用函数。(当前只能使用面向过程)mysqli扩展:面向过程+面向对象,里面有函数也有类,加载扩展后可以选择调用函数或者调用类操作。PDO...

2019-07-09 15:38:06 2836

原创 C语言实例五

题目:输入三个整数x,y,z,请把这三个数由小到大输出。程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。#include <stdio.h>int main(){int x,y,z,t;printf("\n请输入三个数字:\n");scanf...

2019-07-08 20:14:46 99

原创 利用OOP完成报名功能

第一步:找到所有的实体:学生,教师,机构,班级第二步:定义相关的类:第三步:实例化对象并初始化。第四步:让对象执行相应的功能。主要是体会面向对象编程的思想和过程。...

2019-07-08 17:00:22 133

原创 PHP-方法中的this关键字

用this关键字后,效果不变。$this是一个“伪对象”,代表当前所属类的“当前对象”。当前对象:当前谁调用,谁就是当前对象。思考:为什么在打印一个对象的时候,只打印出该对象的属性成员?再次强调:属性不能在方法内直接访问,需要先找对其对象才能访问,典型的做法就是在方法内使用$this关键字来代替当前对象。...

2019-07-08 15:44:09 251

原创 PHP面向对象编程概念

第一讲 面向对象编程思想简介什么是编程思想?思维方式,常见的有:面向过程和面向对象,PHP是同时支持两种方式的编程语言。面向过程编程思想自顶向下,逐步细化面向对象编程思想尽可能用模型现实世界,需要实体完成,没有实体就没有动作。面向对象编程核心思想是:对调用该功能的主题进行封装,实现某个主体拥有多个功能。第二讲 面向对象的基本概念一个面试题:面向过程和面向对象的比较:1、都可以实...

2019-07-08 15:06:54 177

原创 数据库连接查询

需求:查询出所有的学生,而且要求显示学生所在的班级信息。连接查询连接查询:将多张表(可以大于2张)进行记录的连接(按照某个指定的条件进行数据拼接);最终结果是:记录数可能有变化,字段数一定会增加(至少两张表的合并)连接查询的意义:在用户查看数据的时候,需要显示的数据来自多张表。连接查询:join,使用方式:左表 join 右表左表:在join关键字左边的表右表:在join关键字右边的表...

2019-07-07 19:34:56 485

空空如也

空空如也

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

TA关注的人

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