自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 四数之和

题目描述:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。思路分析:判断数组为null或长度小于4,直接返回对数组进行从小到大排序定义4个指针i,j,left,right,...

2020-02-29 21:08:46 122

原创 电话号码的字母组合

题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。方法一:先建一个映射表,第二个位置是"abc“,第三个位置是"def"。。。往队列中加入一个空字符由当前遍历到的字符,取字典表中查找对应的字符串计算出队列长度后,将队列中的每个元素挨个拿出来每次都从队列中拿出第一个元素,然后跟"def"...

2020-02-28 00:13:32 118

原创 三数之和

题目描述:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。思路分析:首先对数组进行排序,排序后固定一个数 nums[i]再使用左右指针指向 nums[i]后面的两端,数字分别为 nums[left] 和 nums[right],计算三个数...

2020-02-24 23:40:52 67

原创 最长公共前缀

题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。方法一:用strs[0]作为公共前缀,通过遍历数组剩余字符串去除不是公共前缀的字符class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null||strs.length=...

2020-02-23 22:47:17 67

原创 整数转罗马数字

题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列...

2020-02-22 17:00:21 113

原创 盛最多水的容器

题目描述:给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。方法一:暴力法遍历每个可能的容器大小,找出其中最大的即可class Solution { public int maxArea(...

2020-02-22 16:28:57 171 1

原创 罗马数字转整数

题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列...

2020-02-21 22:02:28 188

原创 正则表达式匹配

题目描述:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。方法一:回溯法这种匹配思路其实就是不断地减掉s和p的可以匹配首部,直至一个或两个字符串被减为空的时候,根据最终情况来得出结论。class Solution {...

2020-02-21 21:41:07 136

原创 整数反转

题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。方法一:用long存储反转后的数,如果溢出则直接返回0即可public int ReverseInt1(int x) { public int reverse(int x) { long temp = 0; while(x != 0){ ...

2020-02-21 12:59:01 72

原创 Z 字形变换

题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。思路分析:使用min(numRows,len) 个列表来表示 Z 字形图案中的非空行。从左到右迭代 s,将每个字符添加到合适的行。可以使用当前行和当前方向这两个变量对合适的行进行跟踪。只有当我们向上移动到最上面的行或向下移动到最下面的行时,当前方向才会发生改变。class Solution { p...

2020-02-21 12:18:17 94

原创 最长回文子串

题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。class LongestPalindrome { public String longestPalindrome(String s) { int start=0; int end=0; for(int i=0;i<s.length()...

2020-02-21 10:16:37 85

原创 寻找两个有序数组的中位数

题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。方法一:1.中位数:偶数个中间两个和除以2,奇数个中位数为中间那个2.先判断是否其中有一个数组为空,如果有直接返回中位数即可3.将两个数组中的值重新排序到新的数组,返回新...

2020-02-20 20:33:13 351

原创 无重复字符的最长子串

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。方法一:找出每个字串,然后判断是否有重复的字符,没有则找出其中最长的。public class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int ans = 0;...

2020-02-18 22:10:00 67

原创 两数相加

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。思路分析:将两个链表看成是相同长度的进行遍历,如果一个链表较短则在前面补 0每一位计算的同时需要考虑上一位的进位问题,而当...

2020-02-18 20:27:49 77

原创 统计有序矩阵中的负数

题目:给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。思路分析:从最从右上角开始,如果是负数,则这个数的这一列下面都是负数,直接全部加上行数即可,然后从右往左遍历class Solution { public int countNegatives(int[][] grid) { ...

2020-02-16 17:26:10 495

反转链表

题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。方法一:递归cur指向最后一个节点,head是倒数第二个节点 ,head.next.next=head是将下一个节点指向它的前一个节点 * public class ListNode { * int val; * ListNode next; * ListNode(int x) { ...

2020-02-15 13:24:48 82

二叉树的镜像

题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像。方法一:利用队列进行层序遍历时进行左右节点交换/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN...

2020-02-15 13:24:37 99

二叉树的深度

题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。方法一:通过递归求二叉树的深度/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * T...

2020-02-14 15:56:35 131

二叉搜索树的第k大节点

题目:给定一棵二叉搜索树,请找出其中第k大的节点。思路分析:1.二叉搜索树的特点就是中序遍历后,值都是按照从小到大的顺序排列的2.用list集合存储中序遍历的搜索二叉树的值,找出倒数第k个即可/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNod...

2020-02-14 15:56:15 119

原创 高度检查器

题目:学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。提示:1 <= heights.length <= 1001 <= heights[i] <= 100方法一:最容易想到的方法,将数组排序后比较两个数组不相同的个数即可class Solution { public int...

2020-02-13 13:31:53 97

原创 css学习笔记

CSS:页面美化和布局控制1.概念:Cascading Style Sheets 展示样式表1)层叠:多个样式可以作用在同一个html的元素上,同时生效2.好处:1)功能强大2)将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更加容易 * 提高开发效率3.CSS的使用:CSS和html结合方式1)内敛方式在标签内,定义style标签,st...

2020-02-13 13:31:36 66

原创 增减字符串匹配

题目:给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有:如果 S[i] == “I”,那么 A[i] < A[i+1]如果 S[i] == “D”,那么 A[i] > A[i+1]思路分析:我们记录还未写入的最小和最大的数,它们对应的区间为当...

2020-02-13 13:31:17 137

原创 注册页面案例

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>注册页面</title> <style> * { /*margin:0px;*/ /*p...

2020-02-10 20:45:34 162

原创 html学习笔记

HTML:1.概念:是最基础的网页开发语言Hyper Text Markup Language超文本语言超文本:超文本是用超链接的方法,将各种不同的空间的文字信息组织在 一 起的网状文本标记语言:由标签构成的语言。<标签名称> 如html,xml标记语言不是编程语言2.快速入门:语法:1)html文档后缀名.html或者.htm2)标签分为:...

2020-02-10 20:44:21 78

原创 Java学习笔记Day26:web相关概念

Web相关概念:1.软件架构C/S:客户端/服务器端(优点:用户体验号 缺点:开发、安装、部署、维护麻烦 )B/S:浏览器/服务器(用户通过不同的网址(URL),客户访问不同的服务器程序) 优点:开发、安装、部署、维护简单 缺点:1)如果应用过大,用户体验可能受到影响 2)对硬件要求过高2.资源分类静态资源:所有用户访问后,得到的结果都...

2020-02-10 20:06:25 109

原创 唯一摩尔斯密码词

题目描述:国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: “a” 对应 “.-”, “b” 对应 “-…”, “c” 对应 “-.-.”, 等等。为了方便,所有26个英文字母对应摩尔斯密码表如下:[".-","-…","-.-.","-…",".","…-.","–.","…","…",".—","-.-",".-…","–","-.","—"...

2020-02-10 20:02:50 163

原创 解码字母到整数映射

题目:给你一个字符串 s,它由数字(‘0’ - ‘9’)和 ‘#’ 组成。我们希望按下述规则将 s 映射为一些小写英文字符:字符(‘a’ - ‘i’)分别用(‘1’ - ‘9’)表示。字符(‘j’ - ‘z’)分别用(‘10#’ - ‘26#’)表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。思路分析:对字符串 s 进行顺序遍历。当遍历到位置 i 时,我们首先向后看两个字...

2020-02-08 20:45:46 245

原创 翻转图像

题目描述:给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。方法一:利用双指针遍历二维数组每一行,start从头遍历,en...

2020-02-08 19:44:22 219

原创 奇数值单元格的数目

题目:给你一个 n 行 m 列的矩阵,最开始的时候,每个单元格中的值都是 0。另有一个索引数组 indices,indices[i] = [ri, ci] 中的 ri 和 ci 分别表示指定的行和列(从 0 开始编号)。你需要将每对 [ri, ci] 指定的行和列上的所有单元格的值加 1。请你在执行完所有 indices 指定的增量操作后,返回矩阵中 「奇数值单元格」 的数目。思路分析:...

2020-02-07 14:08:32 171

原创 Java学习笔记Day25:注解

注解概念:说明程序的。给计算机看的作用:1. 编写文档:通过代码里标识的注解生成文档【生成文档doc文档】2. 代码分析:通过代码里标识的注解对代码进行分析【使用反射】3. 编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】JDK中预定义的一些注解@Override:检测被该注解标注的方法是否是继承自父类(接口)的@Deprecated:该注解...

2020-02-06 17:01:18 196

原创 Java学习笔记Day24:反射

反射:框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码反射:将类的各个组成部分封装为其他对象,这就是反射机制好处:1. 可以在程序运行过程中操作这些对象2. 可以解耦,提高程序的可扩展性Class对象功能:获取功能:1. 获取成员变量Field[] getFileds():获取所有public修饰的成员变量Field getField(Strin...

2020-02-05 20:46:21 212

原创 Java学习笔记Day23:TCP通信的文件上传案例

TCP通信的文件上传案例:原理:客户端读取本地的文件,把文件上传到服务器,服务器在把上传的文件保存到服务器的硬盘上1. 客户端使用本地的字节输入流,读取到要上传的文件2. 客户端使用网络字节输出流,把读取到的文件上传到服务器3. 服务器使用网络字节输入流,读取客户端上传的文件4. 服务器使用本地字节输出流,把读取到的文件保存到服务器的硬盘上5. 服务器使用网络字节输出流,给客户端回写一...

2020-02-04 15:54:31 173

原创 Java学习笔记Day22:TCP

TCP通信:面向连接的通信,客户端和服务端必须进过3次握手,建立逻辑连接,才能通信(安全)TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器写回的数据表示客户端的类:java.net.Socket:此类实现客户端套接字(也可以叫“套接字”)。套接字是两台机器间通信的端点。套接字:包含了IP地址和端口号的网络单位构造方法: Socket(String hos...

2020-02-04 15:48:55 78

空空如也

空空如也

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

TA关注的人

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