- 博客(130)
- 收藏
- 关注
原创 2021-06-29重排列表
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */import java.util.*;public class Solution { public void reorderL.
2021-06-29 10:48:37
139
原创 2021-6-29二分查找
请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 如果目标值存在返回下标,否则返回 -1 * @param n
2021-06-29 10:32:10
152
原创 2021-06-29 二叉树中是否存在节点和为指定值的路径
import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * * @param root TreeNode类 * @param sum int整型 * @return bool布尔型 .
2021-06-29 10:05:56
118
原创 2021-06-29股票交易 无限次
假定你知道某只股票每一天价格的变动。你最多可以同时持有一只股票。但你可以无限次的交易(买进和卖出均无手续费)。请设计一个函数,计算你所能获得的最大收益。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算最大收益 * @param prices int整型一维数组 股票每一天的价格 * @return int整型
2021-06-29 09:58:01
252
原创 2021-06-29 换钱最小的硬币数
给定数组arr,arr中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个aim,代表要找的钱数,求组成aim的最少货币数。如果无解,请返回-1.import java.util.*;public class Solution { /** * 最少货币数 * @param arr int整型一维数组 the array * @param aim int整型 the target * @return int
2021-06-29 09:52:13
115
原创 2021-6-25 React复习 路由
<div className="row"> <div className="col-xs-2 col-xs-offset-2"> <div className="list-group"> {/* 原生html中,靠<a>跳转不同的页面 */} {/* <a className="list-group-item" href="./about.html">About</a>
2021-06-25 17:13:34
184
1
原创 2021-6-25 React复习 组件之间的通信2
消息订阅与发布机制:PubSub。不仅适用于兄弟间的通信,而且适用于任意组件的通信。search = ()=>{ //获取用户的输入(连续解构赋值+重命名) const {keyWordElement:{value:keyWord}} = this //发送请求前通知List更新状态 PubSub.publish('atguigu',{isFirst:false,isLoading:true}) //发送网络请求 axios.get(`/api1/search/users?
2021-06-25 13:46:37
106
原创 2021-6-25 React复习 脚手架代理
# react脚手架配置代理总结## 方法一> 在package.json中追加如下配置```json"proxy":"http://localhost:5000"说明:优点:配置简单,前端请求资源时可以不加任何前缀。缺点:不能配置多个代理。工作方式:上述方式配置代理,当请求了3000不存在的资源时,那么该请求会转发给5000 (优先匹配前端资源)方法二第一步:创建代理配置文件在src下创建配置文件:src/setupProxy.js编写setupPr
2021-06-25 10:51:20
93
原创 2021-6-24 React复习ajax
react和axios组合使用:四种发送http请求的方法:ajax,jQuery,fetch,axios.ajax:不需要刷新界面,更新数据,允许根据用户事件来更新界面。缺点:存在跨域问题。请求报文响应报文ajax进行GET请求:btn.onclick=function(){ //1创建对象 const xhr = new XMLHttpRequest(); //初始化,设置请求的方法和url,设置url参数 xhr.open('GET','htt
2021-06-25 09:44:09
90
原创 2021-6-22 React复习父组件子组件的通信
父组件向子组件传递数据,通过props子组件向父组件传递数据: 父组件利用props向子组件传递一个函数,子组件接收函数,通过调用函数向父组件传递数据。APP组件,Header LIst Footer是他的子组件addTodo = (todoObj)=>{ //获取原todos const {todos} = this.state //追加一个todo const newTodos = [todoObj,...todos] //更新状态 this.setState({to
2021-06-24 20:45:52
106
原创 2021-6-24 React复习 Diffing算法
在某一时间节点调用 React 的 render() 方法,会创建一棵由 React 元素组成的树。在下一次 state 或 props 更新时,相同的 render() 方法会返回一棵不同的树。开发者可以通过设置 key 属性,来告知渲染哪些子元素在不同的渲染下可以保存不变。diffing算法;1.React中key有什么作用,内部原理是什么,为什么遍历列表时,key最好不使用index?1. 虚拟DOM中key的作用: 1). 简单的说: key是虚拟DOM对象的标识, 在更新显示时key起着
2021-06-24 17:15:02
57
原创 2021-6-24 React复习 生命周期
旧的生命周期1. 初始化阶段: 由ReactDOM.render()触发---初次渲染 1. constructor() 2. componentWillMount() 3. render() 4. componentDidMount() =====> 常用 一般在这个钩子中做一些初始化的事,例如:开启定时器、发送网络请求、订阅消息2. 更新阶段: 由组件内部this.setSate()或父组件render触发 1. shouldComponentUpd
2021-06-24 16:32:15
182
1
原创 2021-06-24 React复习 函数柯里化
高阶函数:如果一个函数符合下面2个规范中的任何一个,那该函数就是高阶函数。1.若A函数,接收的参数是一个函数,那么A就可以称之为高阶函数。2.若A函数,调用的返回值依然是一个函数,那么A就可以称之为高阶函数。常见的高阶函数有:Promise、setTimeout、arr.map()等等函数的柯里化:通过函数调用继续返回函数的方式,实现多次接收参数最后统一处理的函数编码形式。使用函数柯里化实现: class Login extends React.Component{ //
2021-06-24 14:43:17
85
原创 React复习 事件处理
(1).通过onXxx属性指定事件处理函数(注意大小写)a.React使用的是自定义(合成)事件, 而不是使用的原生DOM事件 —————— 为了更好的兼容性b.React中的事件是通过事件委托方式处理的(委托给组件最外层的元素) ————————为了的高效(2).通过event.target得到发生事件的DOM元素对象 (发生事件的元素是要操作得元素)——————————不要过度使用ref受控组件:表单元素通常自己维护 state,并根据用户输入进行更新。而在 React 中,可变状态(mutab
2021-06-24 14:24:44
76
原创 React 复习 refs
1.string类型的ref已经过时了2.使用回调形式的refclass Demo extends React.Component{ render(){ return( <div> <input ref={(currentNode)=>{this.input1=currentNode}} type="text" placeholder="
2021-06-24 13:58:30
114
原创 React 复习 props
展开运算符 复习:<script type="text/javascript" > let arr1 = [1,3,5,7,9] let arr2 = [2,4,6,8,10] console.log(...arr1); //展开一个数组 let arr3 = [...arr1,...arr2]//连接数组 //在函数中使用 function sum(...numbers){ return numbers.reduce((preValue,c
2021-06-23 19:10:56
67
原创 React复习函数组件,类组件,state
JSX语法规则跟标签只有一个标签必须闭合内联样式style={{}}类名:className。标签中混入js表达式时,使用{}标签首字母(1)小写转换为html中的同名标签,若没有,则报错(2)若为大写,react就去渲染对应的组件。若组件没有定义,就报错。函数式组件: function MyComment(){ return <h2> 这是用函数式声明定义的组件</h2> } ReactDOM.render(<MyComm
2021-06-23 17:32:36
181
原创 2021-06-23 数字在升序数组中出现的次数
统计一个数字在升序数组中出现的次数。public class Solution { public int GetNumberOfK(int [] array , int k) { int left=0; int right=array.length; int l=0,r=0; while(left<right){ int mid=(left+right)/2; if(array[
2021-06-23 14:22:19
77
原创 2021-6-22合并二叉树
已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。例如:import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * * @param t1
2021-06-23 13:55:41
72
原创 2021-6-22 将数字字符串转换成ip地址的形式
现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。例如:给出的字符串为"25525522135",返回[“255.255.22.135”, “255.255.221.35”]. (顺序没有关系)IP地址:IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数。
2021-06-23 13:50:00
673
原创 2021-06-23 矩阵元素查找
已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的。设计查找算法返回所查找元素的二元数组,代表该元素的行号和列号(均从零开始)。保证元素互异。import java.util.*;public class Solution { public int[] findElement(int[][] mat, int n, int m, int x) { // write code here int i=0;
2021-06-23 12:32:20
106
原创 2021-06-23 判断一棵二叉树是否为搜索二叉树和完全二叉树
给定一棵二叉树,已知其中的节点没有重复值,请判断该二叉树是否为搜索二叉树和完全二叉树。二叉搜索树:树为空或者左节点的值小于根节点,右节点的值大于根节点,并且左右子树都是二叉搜索树。错误写法: public boolean Sou(TreeNode root){ if(root==null) return true; int leftVal = root.left == null ? Integer.MIN_VALUE : root.left.v
2021-06-23 11:49:57
100
原创 2021-06-23 在两个长度相等的排序数组中找到上中位数
给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。上中位数:假设递增序列长度为n,若n为奇数,则上中位数为第n/2+1个数;否则为第n/2个数[要求]时间复杂度为O(logN),额外空间复杂度为O(1)采用类似双指针的方法。int p1=0,p2=0,mid=0; for(int i=0;i<arr1.length;i++){ if(arr1[p1]<=arr2[p2]){ mid=arr1
2021-06-23 10:33:22
74
原创 2021-06-23 合并区间
给出一组区间,请合并所有重叠的区间。请保证合并后的区间按区间起点升序排列。先对Interval进行排序升序排序而后比较 两个区间的pre.end和next.start的大小,决定新区间的左右边界。/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(
2021-06-23 09:52:23
82
原创 2021-06-21删除有序链表中重复出现的元素
给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。import java.util.*;/* * public class ListNode { * int val; * ListNode next = null; * } */public class Solution { /** * * @param head ListNode类 * @return ListNode类 */ p
2021-06-23 09:29:36
102
原创 2021-6-21 最大数
最大数:给定一个数组由一些非负整数组成,现需要将他们进行排列并拼接,使得最后的结果最大,返回值需要是string类型 否则可能会溢出。30,304的排列为:3043030,301的排列为30301,对于两个数字,可以比较他们排列之后的ASSCAL值。选择阿斯克码值大的排在前面。import java.util.*;public class Solution { /** * 最大数 * @param nums int整型一维数组 * @return s
2021-06-21 09:00:39
240
原创 css圣杯布局、双飞翼布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>圣杯布
2021-06-20 01:15:31
53
原创 2021-06-19 反转数字
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。你有注意到翻转后的整数可能溢出吗?因为给出的是32位整数,则其数值范围为[−2^{31}, 2^{31} − 1]。翻转可能会导致溢出,如果反转后的结果会溢出就返回 0。import java.util.*;public class Solution { /** * * @param x int整型 * @return int整型 */ public int re
2021-06-19 14:06:01
107
原创 2021-6-19 缺失数字
从0,1,2,…,n这n+1个数中选择n个数,找出这n个数中缺失的那个数,要求O(n)尽可能小。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 找缺失数字 * @param a int整型一维数组 给定的数字串 * @return int整型 */ public int solve (int[
2021-06-19 13:50:20
86
原创 2021-06-19 判断一个链表是不是回文结构
给定一个链表,请判断该链表是否为回文结构。利用快慢指针,快指针的速度是慢指针速度的两倍,当快指针到达链表尾部的时候,慢指针到达链表的中部,同时将慢指针的值进栈,特别注意,如果链表的长度是奇数时,在比较之前要调整一次慢指针的位置。public class Solution { /** * * @param head ListNode类 the head * @return bool布尔型 */ public boolean isPail (List
2021-06-19 10:54:13
94
原创 2021-06-19平衡二叉树
输入一棵二叉树,判断该二叉树是否是平衡二叉树。条件遍历根节点的左右子树,如果左子树或者右子树有一个不是平衡二叉树,则整棵树都不是平衡二叉树。public class Solution { public boolean IsBalanced_Solution(TreeNode root) { return getDeep(root)!=-1; } public int getDeep(TreeNode root){
2021-06-19 09:45:40
48
原创 2021-06-19 二叉树根节点到叶子节点和为指定值的路径
给定一个二叉树和一个值\ sum sum,请找出所有的根节点到叶子节点的节点值之和等于\ sum sum 的路径,例如:深度优先搜索+回溯法,最后要减去加上的节点的值,并且返回到上一届迪纳的位置。 public ArrayList<ArrayList<Integer>> pathSum (TreeNode root, int sum) { // write code here ArrayList<ArrayList<Intege
2021-06-19 09:22:20
146
原创 2021-06-19 二叉树根节点到叶子节点的所有路径和
给定一个仅包含数字\ 0-9 0−9 的二叉树,每一条从根节点到叶子节点的路径都可以用一个数字表示。例如根节点到叶子节点的一条路径是1\to 2\to 31→2→3,那么这条路径就用\ 123 123 来代替。找出根节点到叶子节点的所有路径表示的数字之和思想:利用树的前序遍历。public class SumofTree { public static void main(String[] args) { TreeNode root=new TreeNode(1);
2021-06-19 08:54:36
152
原创 2021-06-18 js 防抖与节流
节流:在规定的单位时间内,只能有一次触发事件的回调函数执行,如果同一单位之间内某事件被多次触发,只能有一次生效。function pay(){ console.log("aaaa");}function throttle(func,delay){ let timer; return function(){ let context=this; let args=arguments; if(!timer){ //如果
2021-06-19 08:24:35
104
原创 2021-06-18图片懒加载
图片懒加载:图片懒加载主要是用来优化网站的加载性能,降低页面的首屏加载时间,对于图片很多的页面,为了加快页面的加载速度,需要在页面未出现在可视区域内的图片先不做加载,等到滚动条将图片滚动到可视区域后在进行加载。图片懒加载的实现思路:页面渲染时将src路径放到自定义属性中去,这样页面加载时图片就不会去请求服务器,当图片滚动到可视区内时,获取它的自定义属性并赋值给src代码实现:html代码:<!DOCTYPE html><html lang="en"><head&
2021-06-18 22:03:42
94
原创 2021-06-18 js 深拷贝 浅拷贝
深拷贝和浅拷贝都只针对引用数据类型深拷贝:拷贝多层,可以拷贝对象里的子对象浅拷贝:不可以拷贝对象里的子对象。深拷贝的实现:1:原有的库函数JSON.parse(JSON.stringfy(obj))缺点:函数、正则、undefined 、无法拷贝2.Object.assign(obj2,originalObj)优点:可以拷贝函数、正则、undefinded可以拷贝,缺点:深层次的拷贝是浅拷贝。3.var $ = require('jquery');var obj2 = $.exten
2021-06-18 18:24:27
84
原创 2021-06-18 在子元素在父元素位置居中
方法1:使用postion定位.parent{ width: 100px; height: 100px; background-color:pink; position: relative;}.child{ position: absolute; width: 20px; height: 20px; top: 50%; left:50%; margin-top: -10px; margin-left: -10px;
2021-06-18 17:14:12
50
原创 2021-06-18 css实现三角形
方法1:.create{ width: 0; height: 0; border:10px solid transparent; border-right-color: tomato;}方法2:使用伪类.s2::after{ content: ""; position: absolute; top: 9px; right: 9px; width: 7px; height: 7px; border-top: 2p
2021-06-18 15:50:42
66
原创 2021-06-18 股票交易的最大收益(二)
假定你知道某只股票每一天价格的变动。你最多可以同时持有一只股票。但你最多只能进行两次交易(一次买进和一次卖出记为一次交易。买进和卖出均无手续费)。请设计一个函数,计算你所能获得的最大收益。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 两次交易所能获得的最大收益 * @param prices int整型一维数组 股票每一天的价格
2021-06-18 15:02:22
206
原创 容器盛水问题
import java.util.*;public class Solution { /** * max water * @param arr int整型一维数组 the array * @return long长整型 */ public long maxWater (int[] arr) { // write code here if(arr==null||arr.length==0) r
2021-06-18 14:21:42
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人