java
「已注销」
这个作者很懒,什么都没留下…
展开
-
【JAVA】每日两道编程题0930_LeetCode24 反转链表
LeetCode24 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 标签:栈、递归、双指针 思路一: 反转链表的常规解法:用栈存储链表的值,然后取出。但这种解法的时间和空间复杂度均达不到标准。 代码实现: import java.util.List; import java.util.Stack; //链表原创 2020-09-30 17:02:34 · 177 阅读 · 0 评论 -
【JAVA】每日两道算法题0929
LeetCode83 删除排序链表中的重复元素 题目:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 输入: 1->1->2->3->3 输出: 1->2->3 标签:链表、 单指针 思路: 终止条件: 代码实现 LeetCode ...原创 2020-09-29 18:40:12 · 87 阅读 · 0 评论 -
StringBuffer和StringBuilder线程是否安全
以下内容转自https://blog.csdn.net/a372663325/article/details/100151591。侵删 今天小G有一个面试题,面试题内容为:StringBuffer和StringBuilder是否线程安全? 所以在此写一个博客说明下,二话不说,直接上代码,程序员必备(小G:答案是stringBuffer是线程安全) StringBuffer buffer= new StringBuffer(); buffer.append("d"); 然后我们进入appen里面看看 @原创 2020-09-27 16:19:33 · 1914 阅读 · 0 评论 -
【JAVA】每日两道算法题0927
LeetCode697 数组的度 题目:给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 输入: [1,2,2,3,1,4,2] 输出: 6 标签:数组 思路: 根据题意,对于数组中的每一个值,需要存储:第一次出现的位置(即下标),最后一次出现的位置(即下标),出现的次数。所以选择哈希表来存储,key为数组中的每一个值,value存储下标或次数。 遍历数组 第一次出现的位置:原创 2020-09-27 15:49:11 · 166 阅读 · 0 评论 -
【JAVA】每日两道算法题0925_双指针+递归
算法LeetCode38 外观数列 LeetCode38 外观数列 题目:给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。整数序列中的每一项将表示为一个字符串。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 标签:字符串、递归、双指针 思路: 1.第n项是对第n-1项的描述。故先获取第n-1项。(递归法) 2.描述方法: 使用原创 2020-09-25 15:04:54 · 261 阅读 · 1 评论 -
【JAVA】面试须知的五种排序算法0917_思路及实现(所有代码亲测可用)
1.冒泡排序 图片来源:https://www.cnblogs.com/guoyaohua/p/8600214.html 冒泡排序: 1.循环n次,每次循环获取最大值,放在最后。 2.一次比较两个元素,如果它们的顺序错误就把它们交换过来。 3.循环 class Solution { public int[] bubbleSort(int[] arr) { int n = arr.length; if (n == 0) {return arr;} /*循环n次,依次将最大、第二、第三放在数组的原创 2020-09-17 18:45:39 · 255 阅读 · 0 评论 -
【JAVA】每日两道算法题0916_链表、递归
文章目录LeetCode21LeetCode334递归递归三要素:斐波那契数列99乘法表 LeetCode21 题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 标签:链表、递归 思路: 1.新的链表不需要重新定义,因为链表的插入是非常方便的。 2.如果l1或者l2为空链表,不需要合并,直接返回另一个链表。 代码实现: //递归实现 class Solution { public ListNode mergeTwoLists(ListNode l原创 2020-09-16 15:53:40 · 134 阅读 · 0 评论 -
【JAVA】每日两道算法题0915_栈、字符串处理
题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 来源:力扣(LeetCode) 有效字符串需满足: 1.左括号必须用相同类型的右括号闭合。 2.左括号必须以正确的顺序闭合。 3.空字符串可被认为是有效字符串。 标签:栈 思路: 1.当字符串长度为奇数时,返回false; 2.前面一直是左括号时,需要一个数据结构暂存这些等着被匹配的左括号。当右括号出现时,这些暂存的左括号以“后进先出”的方式被匹配。所以用“栈”这种数据结构去暂存等着被匹配的左括号。 3原创 2020-09-16 14:05:20 · 159 阅读 · 0 评论 -
Tomcat、Servlet、Servlet容器
Tomcat 常听别人说Tomcat,觉得很高大上。但它是啥,能干啥,我一直很迷。今天整理了下各种概念,以便将来装X。 简单一句话:Tomcat是一个Servlet容器。这个容器当然就是装Servlet用的。那Servlet是什么,就是一个(按照Servlet规范写的一个)java类。 这个“装”怎么理解:*实现了Servlet、JSP规范,同时提供http服务。*其实,就像社会与人的关系:社会制定能够规范,人按照规范做事。然后社会保证你和其他人的良好沟通。 解决问题:处理动态页面(jsp等) Servle原创 2020-07-02 22:10:24 · 4940 阅读 · 1 评论 -
java中var类型的使用
var是Java10版本中新出的特性,用它来定义局部变量。 使用var定义变量的语法: var 变量名 = 初始值; var 不是关键字,相当于一种动态类型,编译器根据变量所赋的值来推断类型。所以必须在定义变量的时候赋初始值。 ...原创 2020-02-24 13:35:03 · 13126 阅读 · 1 评论