392、判断子序列
392、判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。
初始想法遍历s,每一个字母都都t中寻找,寻找到,则把寻找的初始定为当前寻找到的下标,找不到则false,循环完则true
1234567891011121314class Solution {public: bool isSubsequence(string s, string t) { int index = 0; for(int i = 0; i < s.size(); ++ i){ if(find(t.begin() + index, t.end(), s[i]) != t.end()){ index = find(t.begin() + index ...
同向双指针 滑动窗口
使用前提,单调性
209、长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
滑动窗口移动右端点,逐渐缩小左端点
12345678910111213141516171819class Solution {public: int minSubArrayLen(int target, vector<int>& nums) { int num = 0; int n = nums.size(); int ans = n + 1; int left = 0; for(int right = 0; right < nums.size(); ++ right){ num += nums[right]; ...
HTTP学习
浏览器地址栏输入地址到页面渲染完成发生了什么?
浏览器进行地址解析,获取该地址的端口号、域名、协议、路径等信息。
将解析的域名进行DNS解析。
通过ip地址寻找服务器地址
与服务器进行三次握手建立连接
浏览器发送数据,等待服务器的响应
服务器响应并返回数据
浏览器接收到数据
浏览器开始渲染页面
URI与URL
URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
HTTP1.0和HTTP1.1的区别
长连接 – HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。HTTP1.0每次请求都要创建连接。
节约带宽 – HTTP1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,客户端接收到100才开始把请求body发送到服务器;如果返回4 ...
Git 相关问题
Git 上传本地文件步骤
打开终端,进入想要的文件目录下
git init //初始化git仓库
git clone //克隆下载指定地址的代码(可忽略)
git add . //将该目录所有东西传到缓存区
git commit -m ”提交说明“ //将缓存区的东西传到本地仓库
git romete add origin //添加远程版本库
git push -u origin master //第一次推送 使用了-u
git push origin master //以后可以用这个简便一点
报错error: failed to push some refs to ‘https://gitee.com/***/**.git'解决办法就是执行如下命令git pull –rebase origin master这个命令的就是说的 从远程仓库 clone 来的项目里包含了README.md这个文件,但是自己本地仓库里没有这个文件,于是用这个命令合并
error: src refspec master does not match any分析:引起该错误的原因是,目录中没有 ...
React学习
React特点
声明式UI
组件化
一次学习,跨平台编写
JSX在React中创建HTML结构
使用js表达式{JS 表达式}
识别常规变量
原生js方法调用
三元运算符
JSX 列表渲染map 方法
key仅在内部使用,不会出现在真实的dom结构中
1234<ul> { items.map(item => <li key = {item.id}>{item.name}</li>)} <li></ul>
条件渲染
三元运算符
逻辑&&运算
12345678910111213141516171819202122<div> { flag ? <span>true</span> : null}</div><div> { flag && <span>true</span>}</div ...
VUE学习
VUE 学习123456789101112131415export default{ name: 'hello', data(){ return{ message: "111" } }, methods:{ fun1(event){ //在事件中,读取data的数据。需要通过this //event 为dom原生event this.message = "222" } }}
1、模板语法文本插值
支持单个js表达式
在textarea中不支持,使用v-model
1.1 原始HTML渲染标签
v-html
不能修改属性
v-bind
修改属性 可以简写成 :
1234<div>{{text}}</div><div v-html = "text"> < ...
跨域
前端proxy12345678devSever:{ proxy: { '/api':{ target: '<url>', changeOrigin: true } }}
npm install 问题
npm install 出现问题第一种 chromedriver@2.46.0 install: node install.js1234567npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! chromedriver@2.46.0 install: `node install.js`npm ERR! Exit status 1npm ERR!npm ERR! Failed at the chromedriver@2.46.0 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
该问题是vue-cli脚手架的一个bug,原因是chromedriver的部分文件被国内网络给墙掉了,无法下 ...
CSS布局方式
CSS布局方式CSS盒子模型 (box model)传统模型
外边距 margin
透明的,不会撑大整个box
边框 broder
内边距 padding
会撑大整个box
内容 content
CSS 弹性盒子模型 (flex model)新的布局样式,适合小程序
当页面需要适应不同屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式
弹性容器 (flex container)
通过display: flex 来定义为弹性容器
弹性容器外以及弹性元素内是正常渲染的。弹性盒子只定义了弹性子元素如何在弹性容器内布局
默认弹性盒内容横向摆放
flex-direction 布局方向
row 横行排列
row-reverse 反转横行
column 纵向排列
column-reverse 反转纵向
justify-content 垂直方向上的摆放
flex-start 靠上
flex-end 靠下
center 居中
align-items 水平方向上的摆放
flex-start 靠左
flex-end 靠右
center 居中
弹性子元素(flex ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment