- 博客(37)
- 收藏
- 关注
原创 JQuery
从Hello开始注意:src引入jQuery库$函数按id查询对象对象.click(function(){});jQuery核心函数传入参数为函数时表示页面加载完成之后,相当于onload事件。传入参数为HTML字符串会对我们创建html标签对象传入参数为选择器字符串时传入参数为DOM对象时把dom对象转化为jQuery对象。区分DOM对象和jQuery对象jQuery对象本质jQuery对象是DOM对象数组+jQuery提供的一系列功能函数。jQuery对象
2021-06-17 16:25:01 170
原创 JavaScript
JavaScript介绍JS与html结合第一种方式第二种方式变量和数据类型关系运算逻辑运算数组只要我们通过下标赋值,最大的下标值就会自动给数组扩容,注意是赋值才会扩容,比如我们alert(arr[9])会弹出undefined,但是再输出数组长度还是原来的长度,没有被赋值的就是undefined。函数定义第一种方式有参函数定义,只需定义参数个数即可:定义带有返回值的函数用return即可第二种方式函数不允许重载,重载会覆盖掉上一
2021-06-13 10:38:22 211 2
原创 CSS笔记
CSS介绍CSS和HTML结合方式在标签的style属性上设置如果样式多了,代码量非常庞大,而且可读性差,且没有复用性。在head标签中,使用style标签来定义需要的css样式。xxx{key:value value;}<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>Title</title>
2021-06-07 22:01:40 158
原创 HTML笔记
B/S软件的结构前端开发流程网页的组成部分HTML简介HTML文件书写规范HTML标签介绍基本属性<!DOCTYPE html><!--约束--><html lang="zh_CN"><!--html标签表示html的开始 lang="zh_CN"表示中文html标签中一般分为两部分 分别是head和body--><head><!--head 表示头部信息 一般包含三部分内容 title标签,css样式
2021-06-07 20:38:01 185
原创 StreamAPI与Optional类
Stream API说明为什么使用Stream API什么是Stream操作三步骤创建Stream方式一:集合方式二:数组方式三:Stream类的静态方法of()方式四:创建无限流(了解)package com.stream.xzc;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.str
2021-06-06 20:09:15 106
原创 Java IO流 四
对象流package demo10;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;public class ObjectStream { public static void main(String[] args) { //序列化:将内存中的java对象保存到磁盘中或者通过网络传输出去 ObjectOutputS
2021-06-03 16:42:26 111
原创 Java IO流 四
处理流之二 转换流字节输入流转换为字符输入流package demo10;import java.io.*;//InputStreamReader: 将一个字节的输入流转换为字符的输入流//OutputStreamWriter: 将一个字符的输出流转换为字节的输出流public class TransferTest { public static void main(String[] args) throws IOException { //字节流处理了一个txt
2021-06-02 17:00:05 77
原创 Java IO流 三
处理文本最好来说:实现图片复制package demo10;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class IOTest { public static void main(String[] args) throws IOException { File src =
2021-06-01 21:01:30 128
原创 Java IO流 二
IO流原理及分类非文本比如视频、图像适合字节流,文本适合字符流。IO流体系FileReader读入数据空参read方法package demo10;import java.io.File;import java.io.FileReader;import java.io.IOException;public class IOTest { public static void main(String[] args) throws IOException {
2021-06-01 18:43:57 74
原创 Java IO流(一)
File类三种构造器package demo10;import org.junit.Test;import java.io.File;public class FileTest { @Test public void test1(){ File file = new File("D:\\hello.txt"); System.out.println(file); File file2 = new File("D:\\jav
2021-06-01 16:44:08 81
原创 Java 常用类
Math类提供数学计算公式。被声明为final,构造器私有化,所有方法都是static的。package demo08;public class MathDemo { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。 S
2021-05-29 16:39:49 81
原创 Java基础类库
CharSequence接口现在只要有字符串就可以为CharSequence实例化,CharSequence本身是一个接口,在该接口中有如下方法:获取指定索引的字符:public char charAt(int index);获取字符串长度:public int length();截取部分字符串:public CharSequence subSequence(int start, int end);AutoCloseable接口AutoCloseable接口主要是用于日后进行资源开发的
2021-05-27 23:02:06 131
原创 Java 深入多线程
优雅地停止线程Thread类中的stop方法已经被舍弃了。除了stop方法,还有几个方法也被禁用了:销毁多线程(destroy),挂起多线程(suspend),恢复挂起(resume),之所以废除这些方法是因为有可能导致线程死锁。范例:实现线程柔和地停止。package demo02;public class ThreadDemo { private static boolean flag = true; public static void main(String[] arg
2021-05-27 19:04:42 121
原创 Java StringBuffer(StringBuilder)学习笔记
String、StringBuffer和StringBuilder的异同String:不可变的字符序列,底层使用char[]存储。StringBuffer:since JDK1.0,可变的字符序列,效率低,线程安全,底层使用char[]存储。StringBuilder:since JDK1.5,可变的字符序列,效率高,线程不安全,底层使用char[]存储。可变性package demo03;public class SBTest { public static void main(St
2021-05-23 10:54:08 75
原创 Java String类学习笔记
String类1.String类声明为final,不可被继承。2.String实现了Serializable接口,表示字符串支持序列化。3.String实现了Comparable接口,表示可以比较大小。4.String内部定义了final char[] value用于存储字符串数据。5.String代表不可变的字符序列,简称不可变性。String的不可变性先看一个例子:package demo03;public class StringTest { public static v
2021-05-22 23:05:54 125
原创 Java多线程学习笔记(四)
线程的通信例题:使用两个线程打印1-100。线程和线程2交替打印。package demo02;class Number implements Runnable{ private int number = 1; @Override public void run() { while (true){ synchronized (this) { notify(); if (n
2021-05-05 22:11:28 74
原创 Java多线程学习笔记(三)
同步方法解决实现Runnable的线程安全问题如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明为同步的。package com.xzc;class Window3 implements Runnable { public Window3() { } private int ticket; public Window3(int ticket) { this.ticket = ticket; } @Override
2021-05-05 19:06:16 116 1
原创 Java多线程学习笔记(二)
从卖票入手先看多线程的一个经典例子:创建三个窗口卖票,总票数是100张。先看这个代码:package com.xzc;class Window extends Thread{ public Window(){ } public Window(String name){ super(name); } private int ticket = 100; @Override public void run() {
2021-05-05 13:31:12 136 1
原创 Java多线程学习笔记(一)
线程和进程进程是资源分配的最小单位,线程是CPU调度的最小单位做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行)一个进程可以包含多个线程(一辆火车可以有多个车厢)不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影响到另外一列火车,但是如果一列火车上中
2021-05-05 10:58:51 68
原创 Java lambda表达式学习笔记
第一个lambda表达式先来看一段根据字符串长度排序的Test.javapackage com.xzc;import java.util.Arrays;import java.util.Comparator;public class Test { public static void main(String[] args) { String[] s1 ={"ab","a","abcd","abc"}; Arrays.sort(s1, new Compar
2021-05-03 23:20:50 328
原创 Java反射机制学习笔记
Class类在程序运行期间,Java运行时系统始终为所有对象维护一个运行时的类型标识。保存这些信息的类名为Class。反射是一个功能强大复杂的机制,用来分析类的能力,运行时检查对象,实现泛型数组操作代码等。如何得到Class类的实例对象Class对象会描述一个特定类的属性。第一种,最常用的Class方法是getName。我们先定义一个Person类:package com.xzc;public class Person { public Person(){ }
2021-04-20 22:30:22 336 3
原创 2021-04-12 LeetCode每日一题最大数(字符串拼接排序)
目录题目解题思路解题代码题目给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数例如 输入:nums = [3,30,34,5,9] 输出:“9534330”解题思路Java中Collections.sort方法可以对对象数组排序,可以重写排序方法,类似于C++自己写sort的cmp函数,重写排序方法,就要对两个字符串a和b比较拼接后的大小,容易发现a+b和b+a长度是一样的,如果a+b是大于b
2021-04-12 17:55:26 541
原创 《剑指Offer(第二版)》03-10II解题思路
目录03.数组中的重复数字04.二维数组中的查找05.替换空格03.数组中的重复数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。思路其实思路很简单,数组查重直接调用HashSet即可,遍历数组一遍,如果set中不包含该元素,就插入,如果包含,即为重复的。class Solution {public: int findR
2021-04-08 22:25:39 101 1
原创 洛谷排序题单题解(C++版)
目录P1059P2676P1116P1152P1271P1177P1073P1781P1068P1104P1012P1923P5143P1059P1059 [NOIP2006 普及组] 明明的随机数#include<iostream>#include<algorithm>using namespace std;int a[1000];int N;int main(){ cin>>N; for (int i = 0; i < N; ++i)
2021-01-29 16:02:29 830
原创 2021-01-03 LeetCode每日一题partition的ArrayList解法
目录题目描述解题思路解题代码题目描述给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/partition-list解题思路把链表的数据存放到数组中,然后建立新的链表头节点,然后对数组逐一遍历,先放小于x的,再放大于等于x的解题代码class Solution { publi
2021-01-03 12:05:05 103
原创 2020-12-30 LeetCode每日一题lastStoneWeight的递归解法
目录题目描述解题思路解题代码官方解答题目描述有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。来源:力扣(LeetCode) 链接:https://l
2020-12-30 09:16:43 210 1
原创 2020-12-27 LeetCode每日一题isIsomorphic的HashMap解法
目录题目描述解题思路解题代码题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。解题思路同构直接想到hashmap映射,具体看注释。解题代码class Solution{ public boolean isIsomorphic(String s,String t){ if(s.length(
2020-12-27 10:02:51 292 4
原创 2020-12-25 LeetCode每日一题findContentChildren排序+贪心解法
目录题目描述解题思路解题代码平安夜发糖,圣诞节发饼干,这就是LeetCode吗题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。解题思路首先把s数组排序,否则遍历s的时
2020-12-25 10:38:39 336
原创 2020-12-24 LeetCode每日一题candy左右遍历求解相邻问题
目录解题思路解题代码解题思路既然是相邻,分左右遍历,求同时满足左遍历和右遍历的情况即可。与官方解法一相同,具体看注释。解题代码public int candy(int[] ratings){ int n = ratings.length; //既然是相邻,分左右遍历,求同时满足左遍历和右遍历的情况即可 int[] left = new int[n];//先从左边遍历 for(int i = 0;i < n;i++){
2020-12-24 09:57:27 161 2
原创 LeetCode第88题merge的三种思路
目录arrayCopy方法介绍代码最少的方法二路归并排序最好的方法:双指针从后往前arrayCopy方法介绍System.arraycopy的函数原型是:public static void arraycopy(Object src,int srcPos,Object dest,int destPos, int length)其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。代码最少的方法最朴素的解法就是将两个数组合并之后再排序。该
2020-12-23 19:14:20 131
原创 2020-12-23 LeetCode每日一题firstUniqChar的HashSet+indexOf解法
目录解题思路解题代码lastIndexOf解题思路利用一个集合Set存放已经出现过的字母,从字符串开头开始检索,如果从这个字符开始没有与之相同的字符且该字符是第一次出现(即indexOf==-1且!set.contains),则是我们要找的,返回下标,否则把该字符添加进Set,最后没有找到则返回-1。解题代码class Solution { public int firstUniqChar(String s){ HashSet<Character> set=new
2020-12-23 09:37:53 129
原创 LeetCode第67题addBinary列竖式逢二进一的解法
目录最朴素的思想解题思路解题代码最朴素的思想先转化成十进制数,再相加,最后再用toBinaryString方法返回但是这处理不了int溢出的情况class Solution { public String addBinary(String a, String b) { return Integer.toBinaryString( Integer.parseInt(a, 2) + Integer.parseInt(b, 2) );
2020-12-22 20:35:47 173
原创 2020-12-21 LeetCode每日一题minCostClimbingStairs的动态规划解法
目录解题思路解题代码解题思路reach[i]是到达第i个阶梯前已经花费的最小体力 也就是到第i阶花费体力为cost[i]+reach[i]初始可选择第0个和第1个 则在到达这两个阶梯前 最小花费0体力按题意可以认为最后一步的cost是0 则reach[n]即是到达顶部花费的最小体力解题代码class Solution { public int minCostClimbingStairs(int[] cost) { int n=cost.length; in
2020-12-21 13:15:05 118
原创 2020-12-19 LeetCode每日一题rotate的原地旋转
目录解题思路解题代码解题思路把n分奇偶讨论,在二维数组中找到四个点旋转前后的坐标变换公式,i和j一定是在n/2附近结束,否则又把矩阵旋转回去了,然后分别用n=4和n=5的情况画图做辅助,找到i和j循环结束精确位置,即可结束本题。解题代码class Solution { public void rotate(int[][] matrix){ int n=matrix.length; if(n%2==1) { for (int i = 0;
2020-12-19 10:40:25 154 1
转载 这次,彻底弄懂接口及抽象类
目录抽象类及其作用接口及其作用接口和抽象类的区别接口与抽象类的使用场景总结作者:伯特出处:github.com/ruicbAndroid/LoulanPlan声明:本文出自伯特的《楼兰计划》,转载务必注明作者及出处。抽象类及其作用抽象类,顾名思义,即类的抽象。在介绍面向对象概念时,我们知道类是客观事物的抽象,而抽象类又是类的进一步抽象,该怎么理解呢?举个例子,我们定义若干个类 class BMW、class Benz、class Audi,分别对客观事物“宝马”、“奔驰”、“奥迪”三种汽车进行
2020-12-18 10:26:32 121
原创 2020-12-18 LeetCode每日一题findTheDifference的数组解法
目录解题思路解题代码解题思路创建一个letter数组,从0到25,分别是s中a到z的个数,再遍历t数组,遇到某个字母就让letter数组中对应位置减一,则一旦遇到负数的情况,一定是被添加的字母,记录在t的位置放入index 返回解题代码class Solution { public char findTheDifference(String s,String t){ if(s.length()==0){ return t.charAt(0);
2020-12-18 09:55:04 173
原创 2020-12-16 LeetCode每日一题wordPattern的HashMap+ArrayList解法
目录解题思路解题代码第一次写题解 还处于学习初级阶段 写于此用于学习交流 多多包涵解题思路先用利用ArrayList存放s中每个被空格隔开的字符串,再用HashMap存放pattern中的每个字符,再利用HashMap的方法进行判断利用string将s中被空格隔开的字符串存入ArrayList,存入后,如果pattern的length不等于ArrayList的size,即“aa”“b b b”类型,直接返回false。进入循环,让key等于pattern的每个字符,value是ArrayList.
2020-12-16 17:04:05 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人