自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 37. 解数独

class Solution {public: bool row[9][9],col[9][9],cell[3][3][9]; void solveSudoku(vector<vector<char>>& board) { memset(row,false,sizeof row); memset(col,false,sizeof col); memset(cell,false,sizeof cell);

2020-11-12 11:06:53 8

原创 leetcode 30. 串联所有单词的子串

思路滑动窗口将字符串s分为多个长度的w(每个单词长度)的子区间,使用hash保存words中每个单词的个数再开一个hash保存遍历时的每个单词用cnt来记录子串中合法的单词个数每次遍历,和m*w之前的那个单词比较,如果单词在第一个开的hash中,就减去那个单词判断新的单词是不是保存在hash里且不超过words中的那个单词的个数,如果是,代表这个单词为合法单词,cnt+1,当cnt和m(words.size)相等时,即为一组结果,将j-(m-1)*w存入结果集class Solution

2020-11-12 09:56:52 45

原创 狂神说 Redis笔记

文章目录nosql为什么要用nosql什么是NOSQLNoSQL特点:了解:3V+3高alibaba架构演进nosql数据类型nosql四大分类KV键值对:文档型数据库(bson格式,和json一样):CAPBASERedis入门Redis能干嘛:特性:学习中需要用到的东西:Redis安装Windows下安装Linux下安装通过指定的配置文件启动服务使用redis-cli客户端连接查看redis进程是否开启如何关闭redis服务呢?shutdown测试性能命令参数如何查看分析基础知识五大基本数据类型Redi

2020-11-05 13:47:16 747 2

原创 KMP算法

#include <cstdio>#include <vector>#include <string>using namespace std;//前后缀表void prefix_table(string pattern, vector<int> &prefix, int n) { prefix[0] = 0; int len = 0; int i = 1; while (i < n) {

2020-10-21 23:27:54 23

原创 docker 常用命令总结

Docker命令帮助命令docker version # 显示docker的版本信息docker info # 显示Docker的系统信息,包括镜像和容器的数量docker 命令 --help # 帮助命令帮助文档地址:https://docs.docker.com/reference/镜像命令docker images[root@ecs-029-docker docker]# docker imagesREPOSITORY TAG

2020-10-18 10:22:01 47

原创 Docker安装 总结

文章目录Docker安装Docker的基本组成安装Docker环境准备环境查看安装(centos)阿里云镜像加速回顾hello-world流程底层原理Docker安装Docker的基本组成镜像(image):docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像=》run==》tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终的服务运行或项目运行就是在容器中的)容器(container):Docker利用容器技术可以做到独立运行一个或一组应用,通过

2020-10-18 10:06:43 28

原创 leetcode 474. 一和零

class Solution { public int findMaxForm(String[] strs, int m, int n) { int[][] dp = new int[m + 1][n + 1]; for (String s : strs) { int[] cnt = count(s); for(int i = m;i>=cnt[0];i--){ for(int j.

2020-10-13 12:53:02 25

原创 leetcode 49. 字母异位词分组

public class Solution { public List<List<String>> groupAnagrams(String[] strs) { if (strs.length == 0) { return new ArrayList<>(); } Map<String, List<String>> map = new HashMap<>()

2020-10-12 22:34:19 12

转载 狂神 SpringBoot笔记整合

SpringBoot01:Hello,World!https://mp.weixin.qq.com/s/QSm0G1pgosE4H4IQGx9uTwSpringBoot02:运行原理初探 https://mp.weixin.qq.com/s/hzRwZvjYSX-dy-9Drz94aQSpringBoot03:yaml配置注入 https://mp.weixin.qq.com/s/E4WgcVIFxVVrfEZau-MikgSpringBoot04:JSR303数据校验及多环境切换 https://m

2020-10-10 15:19:51 91

原创 Spring 事务操作

事务操作概念什么是事务事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败,所有操作都失败典型场景:银行转账事务四个特性(ACID):原子性:不可分割一致性:总量不变隔离性:两个人同时操作,不会对彼此产生影响持久性:提交后表中数据发生真正变化搭建环境创建数据库表,添加记录创建service,搭建dao,完成对象的创建和注入。service注入daodao注入jdbctemplate,在JDBCTemplate注入dataSource在d

2020-10-09 14:01:10 20

原创 Spring JdbcTemplate总结笔记

JDBCTemplate概念和准备Spring框架对JDBC进行封装,使用JDBCTemplate方便实现对数据库操作引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>org.springframework.orm</artifactId> <version>3.1.2.RELEASE</version&g

2020-10-08 20:01:06 17

原创 IOC控制反转

IOC容器(控制反转)1. IOC底层原理xml解析工厂模式反射概念和原理什么是IOC控制反转,把对象的创建和对象之间的调用过程,交给Spring进行管理使用IOC目的:为了耦合度降低做入门的案例就是IOC实现工厂模式目的:降低耦合度到最低限度IOC过程,进一步降低耦合度xml配置文件,配置创建的对象<bean id="dao" class="com.yang.UserDao"/>第二步 有service和dao类,创建工厂类cla

2020-10-08 00:35:57 32

原创 AOP面向切面编程

AOP(面向切面编程)概念:面向切面编程(面向方面编程)利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通俗描述:不通过修改源代码方式,在主干功能里添加新功能底层原理AOP底层使用动态代理方式有两种情况的动态代理有接口情况,使用JDK动态代理没有接口情况,使用CGLIB动态代理有接口情况,使用JDK动态代理创建UserDao接口实现类代理对象,增强类的方法没有接口情况,使用CGLIB动态代理

2020-10-08 00:31:55 42

原创 2020/10/4 MyBatisPlus笔记

MyBatisPlus所有的CRUD代码都可以自动完成!JPA tk-mapper MyBaitsPlus三者类似偷懒的简介是什么?MyBaits本来就是简化JDBC操作的官网:https://baomidou.com/,让MyBaits更加简单特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作BaseMapper<>强大的 CRUD 操作:内置通用 Mapper、通用

2020-10-05 09:37:13 92

原创 Typora+PicGO+Gitee图床配置

文章目录Typora+PicGO+Gitee图床配置什么是图床为什么需要图床图床的建立图床与typora联系Typora+PicGO+Gitee图床配置什么是图床图床,顾名思义,就是图片存放的地方,也就是路径。为什么需要图床当你怀着满腔斗志把你的思想写入typora之后(如果你没用过typora,当我没说,不过还是建议使用),想要把自己本地的博客分享到csdn,却发现图片无法识别,你看到的只是一串的本地路径,内心极度失望,就此作罢,但是,拥有了图床,事情将会得到根本解决。图床的建立在此使用稳定

2020-10-05 00:27:25 47

原创 leetcode 1036. 有效的数独

class Solution { public boolean isValidSudoku(char[][] board) { Map<Integer, Integer>[] row = new HashMap[9]; Map<Integer, Integer>[] col = new HashMap[9]; Map<Integer, Integer>[] table = new HashMap[9]; .

2020-10-03 23:03:49 11

原创 leetcode 1034. 在排序数组中查找元素的第一个和最后一个位置

class Solution { public int[] searchRange(int[] nums, int target) { int n = nums.length; int l = 0, r = n - 1, sign = -1; while (l <= r) { int mid = (l + r) / 2; if (nums[mid] == target) { .

2020-10-03 22:10:07 9

原创 leetcode 1033. 搜索旋转排序数组

class Solution { public int search(int[] nums, int target) { int n = nums.length; int l = 0, r = n - 1; while (l <= r) { int mid = (l + r) / 2; if (nums[mid] == target) return mid; if(nums.

2020-10-03 21:58:14 18

原创 leetcode 1031. 下一个排列

class Solution { public void nextPermutation(int[] nums) { int start = 0; for (int i = nums.length - 1; i >= 1; i--) { int k = i+1; if (nums[i] > nums[i - 1]) { while(k<nums.length &.

2020-10-03 15:52:01 12

原创 leetcode 1022. 括号生成

class Solution { public List<String> generateParenthesis(int n) { ArrayList<String> res = new ArrayList<>(); dfs(new char[2*n], 0, res); return res; } void dfs(char[] temp, int index, List<String&g.

2020-10-03 09:40:44 8

原创 leetcode 面试题 16.19. 水域大小

class Solution { static final int[] dx = {0, 0, -1, 1, -1, 1, 1, -1}; static final int[] dy = {1, -1, 0, 0, -1, 1, -1, 1}; boolean[][] visited = new boolean[1005][1005]; public int[] pondSizes(int[][] land) { ArrayList<Integer&.

2020-10-03 09:39:15 1364

原创 leetcode 1016. 最接近的三数之和

class Solution { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nums); //使用Integer.MAX_VALUE会报错,溢出 int res = 10000; for (int i = 0; i < nums.length; i++) { if (i > 0 && nums[i] == n.

2020-09-30 15:13:41 15

原创 leetcode 1015. 三数之和

class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res = new ArrayList<>(); Arrays.sort(nums); for (int i = 0; i < nums.length; i++) { if (i > .

2020-09-30 15:12:38 13

原创 leetcode 1014. 最长公共前缀

class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length==0) return ""; StringBuilder res = new StringBuilder(); int i = 0; while(i<strs[0].length()){ char c = strs[0].charAt(i);.

2020-09-28 10:06:49 13

原创 leetcode 1013. 罗马数字转整数

class Solution { public int romanToInt(String s) { int res = 0; HashMap<Character, Integer> map = new HashMap<>(); map.put('I', 1); map.put('V', 5); map.put('X', 10); map.put('L', 50); .

2020-09-28 10:06:13 16

原创 leetcode 1012. 整数转罗马数字

class Solution { public String intToRoman(int num) { int[] values = new int[]{ 1000, 900,500,400,100, 90,50,40,10, 9,5,4,1 }; String[] strs= new String[]{ "M", .

2020-09-28 10:05:24 10

原创 leetcode 1011. 盛最多水的容器

class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<Integer,Integer>(); for(int i = 0;i < nums.length; i ++){ int r = target-nums[i]; if(map.cont.

2020-09-28 10:04:17 6

原创 leetcode每日打卡 第10题:正则表达式匹配

/*思路:动态规划*/class Solution {public: bool isMatch(string s, string p) { int n = s.size(), m = p.size(); s = ' '+ s, p = ' ' + p; vector<vector<bool> > f(n + 1, vector<bool>(m + 1)); f[0][0] = tru.

2020-09-24 16:38:13 14

原创 leetcode每日打卡 第9题:回文数

/*方法一:转化成字符串方法二:模拟整数反转res = res * 10 + x % 10;*/class Solution {public: bool isPalindrome(int x) { if(x < 0) return false; string s = to_string(x); //string(s.rbegin(),s.rend()) 初始化一个倒序的字符串 return s == string(s.rb.

2020-09-24 16:34:57 13

原创 leetcode每日打卡 第8题:字符串转整数(atoi)

/*方法一:long long,不需要考虑溢出方法二:int,需要考虑溢出*/class Solution {public: int myAtoi(string str) { int k = 0; //去除多余的空格 while(k < str.size() && str[k] == ' ') k ++; //如果字符串为空,直接返回0 if(k == str.size()) return 0; .

2020-09-24 16:33:16 14

原创 leetcode每日打卡 第7题:整数反转

/*负数取模:1234 % 10 = 4-1234 % 10 = -4与数学上的模相反方法一:使用long long 存储方法二:使用int,直接在while中判断是否溢出,注意防止int越界*/1.class Solution {public: int reverse(int x) { long long r = 0; while(x){ if() r = r * 10 + x % 10; .

2020-09-24 16:31:46 25

原创 leetcode每日打卡 第6题:z字形变换

/*思路:找规律公差都为2n-2第一行和最后一行只有一种公差数列中间都有两种注意:如果 n==1 需要特判,否则会进入死循环*/class Solution {public: string convert(string s, int n) { string res; if(n == 1)return s; for(int i = 0; i < n; i ++){ if(i == 0 || i == n .

2020-09-24 16:30:50 9

原创 leetcode每日打卡 第5题:最长回文子串

/*s.substr(startpos,length);*/class Solution {public: string longestPalindrome(string s) { string res; for(int i = 0; i < s.size(); i ++){ //奇数 int l = i - 1, r = i + 1; while(l >= 0 && r .

2020-09-24 16:27:46 9

原创 leetcode每日打卡 第4题:寻找两个正序数组的中位数

/*思路:*/class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { int tot = nums1.size() + nums2.size(); if(tot % 2 == 0){ int left = find(nums1, 0, nums2, 0, t.

2020-09-24 16:25:30 7

原创 leetcode每日打卡 第3题:无重复字符的最长子串

/*思路:滑动窗口 */class Solution {public: int lengthOfLongestSubstring(string s) { unordered_map<char,int> heap; int res = 0; for(int i = 0 ,j = 0;i < s.size() ;i ++){ heap[s[i]]++; while(heap[s.

2020-09-24 00:24:12 8

原创 leetcode每日打卡 第2题:两数相加

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { //虚拟头结点,值不会.

2020-09-24 00:23:40 7

原创 leetcode每日打卡 第1题:两数之和

class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> heap; for(int i = 0;i<nums.size();i++){ int r = target-nums[i]; //count函数内需要放置key i.

2020-09-24 00:22:35 7

原创 Spring Boot 简单项目部署

Spring Boot 项目部署添加SpringApplicationBuilder方法package com.yang;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;impor

2020-09-23 08:59:58 69

原创 Swagger笔记

Swagger学习目标:了解Swagger的作用和概念了解前后端分离在springboot中集成swaggerSwagger简介:前后端分离: Vue+Spring Boot后端时代:前端只用管理静态页面;html==》后端。模板引擎 jsp=》后端是主力前后端分离时代:后端:后端控制层,服务层,数据访问层(后端团队)前端:前端控制层,视图层(前端团队)伪造json数据,已经存在了,不不要后端,依旧可以跑前后端如何交互 ==》API前后端相互独立,松耦合前后端甚至可以

2020-09-19 20:04:02 21

转载 狂神说:Spring Boot 笔记

链接

2020-09-18 23:23:32 63

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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