随笔分类 - Java
使用java编写的程序或者和java有关的题目
    
摘要:1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的结果不一致,该代码就是
        阅读全文
                
摘要:167. 两数之和 II - 输入有序数组 LeetCode_167 题目描述 方法一:暴力法(使用哈希表) class Solution { public int[] twoSum(int[] numbers, int target) { int len = numbers.length; Has
        阅读全文
                
摘要:1. 两数之和 LeetCode_1 题目描述 方法一:暴力法 package com.walegarrett.interview; /** * @Author WaleGarrett * @Date 2021/3/1 12:21 */ /** * 题目描述:给定一个整数数组 nums 和一个整数目
        阅读全文
                
摘要:381. O(1) 时间插入、删除和获取随机元素 - 允许重复 LeetCode_381 题目详情 题解分析 代码实现 package com.walegarrett.interview; import java.util.*; /** * @Author WaleGarrett * @Date 2
        阅读全文
                
摘要:题目来源 LeetCode_33 相似题目 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 154. 寻找旋转排序数组中的最小值 II 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums
        阅读全文
                
摘要:40. 组合总和 II LeetCode_40 题目描述 题解分析 此题和 39. 组合总和 + 递归 + 回溯 + 存储路径很像,只不过题目修改了一下。 题解的关键是首先将候选数组进行排序,然后记录每个数的出现次数。 将去重后的数组当成是新的候选数组进行递归搜索。 回溯的时候注意是在最后将相同数字
        阅读全文
                
摘要:39. 组合总和 LeetCode_39 题目描述 题解分析 这是一道面试常考题:https://www.nowcoder.com/discuss/582025?source_id=discuss_experience_nctrack&channel=-1 题目考察的是递归搜索,这里使用的方法是回溯
        阅读全文
                
摘要:440. 字典序的第K小数字 LeetCode_440 题目描述 方法一:暴力法(必超时) package com.walegarrett.interview; /** * @Author WaleGarrett * @Date 2021/2/25 19:49 */ /** * 题目描述:给定整数 
        阅读全文
                
摘要:题目来源 LeetCode-121 题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取
        阅读全文
                
摘要:206. 反转链表 LeetCode_206 题目详情 解法一:迭代法 package com.walegarrett.interview; /** * @Author WaleGarrett * @Date 2021/2/22 22:30 */ import java.util.List; /**
        阅读全文
                
摘要:题目来源 LeetCode-15 题目描述 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 _a,b,c ,_使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意: 答案中不可以包含重复的三元组。 示例 1: 输入: nums = [-1,
        阅读全文
                
摘要:题目来源 LeetCode-146 题目描述 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void 
        阅读全文
                
摘要:215. 数组中的第K个最大元素 LeetCode-215 另一道类似的第k大元素问题:https://www.cnblogs.com/GarrettWale/p/14386862.html 题目详情 方法一:使用快速排序 package com.walegarrett.interview; /**
        阅读全文
                
摘要:题目来源 LeetCode_3 题目详情 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解
        阅读全文
                
摘要:剑指 Offer 68 - II. 二叉树的最近公共祖先 Offer_68_2 题目详情 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/16 14:01 */ /** * 题目描
        阅读全文
                
摘要:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 Offer_68_1 题目描述 方法一:迭代法 由于该题的二叉树属于排序二叉树,所以相对较简单。 只需要判断两个结点是否在根节点的左右子树中,这可以通过值的大小来判断。 不断迭代左右子树即可得到结果。 package com.walegar
        阅读全文
                
摘要:剑指 Offer 67. 把字符串转换成整数 Offer_67 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/15 23:13 */ /** * 题目描述:写一个函数 
        阅读全文
                
摘要:剑指 Offer 66. 构建乘积数组 Offer_66 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/14 21:56 */ /** * 题目详情:给定一个数组 A[
        阅读全文
                
摘要:剑指 Offer 65. 不用加减乘除做加法 Offer_65 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/14 21:49 */ /** * 题目描述:写一个函数,
        阅读全文
                
摘要:剑指 Offer 64. 求1+2+…+n Offer_64 题目描述 题解分析 使用&&逻辑短路规则来终止循环 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/14 21:36 */ /** * 题目描
        阅读全文
                

 浙公网安备 33010602011771号
浙公网安备 33010602011771号