自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dev_zyx的博客

talk is cheap, show me code!

原创 876. 链表的中间结点

题目: 876. 链表的中间结点 题解: 解释一: 解释二: 解释三: 1. 在两个中间结点的时候,返回第二个中间结点 2. 在两个中间结点的时候,返回第一个中间结点 代码: public class code876 { public static ListNo...

2020-06-30 23:54:40 130 0

原创 146. LRU缓存机制

题目: 146. LRU缓存机制 题解: 1. 题解一:使用LinkedHashMap实现 2. 题解二:使用双向链表结构+HashMap实现 0. 解题思路: 1. 解释一: 2. 解释二:(主要思路) /* 缓存容量为 2 */ LRUCache cache = new...

2020-06-29 20:45:22 80 0

原创 139. 单词拆分

题目: 139. 单词拆分 题解: 解释一: 解释二: /* 动态规划算法,dp[i]表示s前i个字符能否拆分 转移方程:dp[j] = dp[i] && check(s[i+1, j]); check(s[i+1, j])就是判断i+1到j这一段...

2020-06-28 12:42:32 60 0

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

题目: 剑指 Offer 68 - II. 二叉树的最近公共祖先 题解: 代码: 该题代码无法进行测试。(LeetCode后台对 “结点相等” 已进行处理) 1. 疑难点一: 2. 疑难点二: public class 面试题68_2 { public static T...

2020-06-24 14:51:34 113 0

原创 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

题目: 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 题解: 1. 题解一:迭代 2. 题解二:递归 代码: 1. 代码一:迭代 public class 面试题68_1 { // 方法1:迭代 public static TreeNode low...

2020-06-24 11:38:50 126 0

原创 剑指 Offer 66. 构建乘积数组

题目: 剑指 Offer 66. 构建乘积数组 题解: 1. 题解一:左右数组 解释一: 解释二: 2. 题解二:左(或右)数组 解释一: 解释二: 代码: 1. 代码一:左右数组 public class 面试题66 { // 方法1:左右数组 publ...

2020-06-23 14:01:50 63 0

原创 剑指 Offer 65. 不用加减乘除做加法

题目: 剑指 Offer 65. 不用加减乘除做加法 题解: 代码: 1. 代码一:迭代 public class 面试题65 { // 方法1:迭代 public static int add(int a, int b) { int sum; // ...

2020-06-23 11:33:52 101 0

原创 剑指 Offer 64. 求1+2+…+n

题目: 剑指 Offer 64. 求1+2+…+n 题解: 解释一: 解释二: 代码: public class 面试题64 { public int res = 0; public int sumNums(int n) { bool...

2020-06-23 09:42:44 83 0

原创 剑指 Offer 62. 圆圈中最后剩下的数字(约瑟夫环问题)

题目: 剑指 Offer 62. 圆圈中最后剩下的数字 题解:约瑟夫环问题 1. 题解一:模拟链表,O(n²) 2. 题解二:数学解法,O(n) 代码: 1. 代码一: import java.util.*; public class 面试题62 { // 方法1...

2020-06-21 13:04:45 98 0

原创 剑指 Offer 61. 扑克牌中的顺子

题目: 剑指 Offer 61. 扑克牌中的顺子 题解: 注意:大小王属于癞子牌 1. 题解一:不排序方式 2. 题解二:排序方式 代码: 1. 代码一:不排序方式 import java.util.*; public class 面试题61 { // 方法1:不排...

2020-06-20 18:12:10 63 0

原创 剑指 Offer 60. n个骰子的点数

题目: 剑指 Offer 60. n个骰子的点数 题解: 疑难点: 代码: public class 面试题60 { public static double[] twoSum(int n) { // 状态定义,dp[i][j]表示骰子个数为i时点数j可能出...

2020-06-20 13:33:58 82 0

原创 剑指 Offer 59 - I. 滑动窗口的最大值

题目: 剑指 Offer 59 - I. 滑动窗口的最大值 题解: 代码: import java.util.*; public class 面试题59_1 { public static int[] maxSlidingWindow(int[] nums, int k) ...

2020-06-19 17:29:58 125 0

原创 面试题58 - II. 左旋转字符串

题目: 面试题58 - II. 左旋转字符串 题解: 1. 题解一:字符串切片 2. 题解二:列表遍历拼接 3. 题解三:字符串遍历拼接 4. 题解四:三步翻转法(优先) 算法思想: 1. 第一步:先对前 n 个字符进行翻转; 2. 第二步:然后对后面的部分进行翻转; 3. 第三步...

2020-06-19 11:09:33 64 0

原创 面试题58 - I. 翻转单词顺序

题目: 面试题58 - I. 翻转单词顺序 题解: 1. 题解一:双指针 代码: 1. 代码一:双指针 public class 面试题58_1 { // 方法1:双指针 public static String reverseWords(String s) { ...

2020-06-18 18:41:25 80 0

原创 面试题57. 和为s的两个数字

题目: 面试题57. 和为s的两个数字 题解: 代码: /** * 面试题57 */ public class 面试题57 { public static int[] twoSum(int[] nums, int target) { int i = 0;...

2020-06-18 12:49:59 67 0

转载 java 中 Cannot make a static reference to the non-static 解决方法

今天敲代码的时候遇到了这个问题,大体这个问题可以简化成这样; public class Test1 { public String get() { return "123"; } public static void main(S...

2020-06-17 22:02:34 130 0

原创 面试题54. 二叉搜索树的第k大节点

题目: 面试题54. 二叉搜索树的第k大节点 题解: 代码: /** * 面试题54 */ public class 面试题54 { public int ans = 0; public int count = 0; public int kthLarg...

2020-06-17 21:40:15 51 0

原创 面试题53 - I. 在排序数组中查找数字 I

题目: 面试题53 - I. 在排序数组中查找数字 I 34. 在排序数组中查找元素的第一个和最后一个位置 题解: 34. 在排序数组中查找元素的第一个和最后一个位置 1. 题解一:二分法 2. 题解二:遍历法 代码: 1. 代码一:二分法 public class 面试题53_1 { ...

2020-06-16 21:01:20 40 0

原创 面试题52. 两个链表的第一个公共节点

题目: 面试题52. 两个链表的第一个公共节点 160. 相交链表 题解: 1. 解释一: 2. 解释二: 3. 解释三: 代码: public class 面试题52 { public static ListNode getIntersectionNode(Lis...

2020-06-16 18:09:15 79 0

原创 面试题50. 第一个只出现一次的字符

题目: 面试题50. 第一个只出现一次的字符 题解: 1. 题解一:哈希表 代码: 1. 代码一:哈希表 import java.util.*; public class 面试题50 { // 方法1:哈希表 public static char firstUniq...

2020-06-15 21:56:46 57 0

原创 面试题49. 丑数

题目: 面试题49. 丑数 题解:动态规划(三指针) 1. 解释一: 2. 解释二: 3. 解释三: 4. 解释四: 代码: public class 面试题49 { public static int nthUglyNumber(int n) { in...

2020-06-15 17:22:30 52 0

原创 面试题47. 礼物的最大价值

题目: 面试题47. 礼物的最大价值 题解: 代码: /** * 面试题47 */ public class 面试题47 { public static int maxValue(int[][] grid) { int m = grid.length; /...

2020-06-14 23:30:14 79 0

原创 面试题44. 数字序列中某一位的数字

题目: 面试题44. 数字序列中某一位的数字 400. 第N个数字 题解: 1. 解释一: 2. 解释二: 代码: public class 面试题44 { public static int findNthDigit(int n) { i...

2020-06-14 18:22:33 124 0

原创 605. 种花问题

题目: 605. 种花问题 题解: 防御式编程思想: 在 flowerbed 数组两端各增加一个 0, 这样处理的好处在于不用考虑边界条件。 我们从左到右扫描数组 flowerbed,任意位置处只要连续出现三个 0 就可以栽上一棵花。 并且把中间位置的 0 修改成 1,并将计数器 coun...

2020-06-14 13:11:16 98 0

原创 面试题46. 把数字翻译成字符串

题目: 面试题46. 把数字翻译成字符串 题解: 注意:此题类似于“青蛙跳台阶”一题。 代码: public class 面试题46 { public static int translateNum(int num) { String s = String....

2020-06-09 22:05:27 80 0

原创 面试题43. 1~n整数中1出现的次数

题目: 面试题43. 1~n整数中1出现的次数 233. 数字 1 的个数 题解: 代码: public class 面试题43 { public static int countDigitOne(int n) { int digit = 1; // ...

2020-06-09 12:31:36 87 0

转载 哈希表(散列表)原理详解

参考: 哈希表(散列表)原理详解 十一、从头到尾解析Hash表算法 什么是哈希表? 哈希表(散列表)原理详解 什么是哈希表?    哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键...

2020-06-09 11:07:27 66 0

原创 面试题36. 二叉搜索树与双向链表

题目: 面试题36. 二叉搜索树与双向链表 426. 将二叉搜索树转化为排序的双向链表 题解: 代码: Node.java // Definition for a Node. class Node { public int val; public Node left; ...

2020-06-07 13:16:37 54 0

原创 面试题53 - II. 0~n-1中缺失的数字

1. 数组有序: 题目: 面试题53 - II. 0~n-1中缺失的数字 题解: 1. 题解一:二分法 2. 题解二:顺序扫描 一趟扫描,若nums[i] != i,表示该元素值缺失,返回其下边即可;若一直到数组的最后一个元素都是nums[i] == i,表示缺失的元素正好就是nums[...

2020-06-06 13:07:13 134 0

原创 从n个数中选取m个数的所有组合

题目: n个数1,2,...,n,从这n个数中任意选m个数,输出所有不同组合,共有C(n,m)种不同组合。 如n=4,m=2,会产生如下输出: 1 2 1 3 2 3 1 4 2 4 3 4 如n=5,m=3,会产生如下输出: 1 2 3 1 2 4 1 3 4 2 3 4...

2020-06-04 21:27:04 887 0

原创 多线程生产者消费者模型

1. 基础知识: 1. 什么是生产者-消费者模式: 比如有两个进程A和B,它们共享一个固定大小的缓冲区,A进程产生数据放入缓冲区,B进程从缓冲区中取出数据进行计算,那么这里其实就是一个生产者和消费者的模式,A相当于生产者,B相当于消费者。 2. 为什么要使用生产者消费者模式: 在多线程开发中,如...

2020-06-02 23:41:55 73 0

原创 面试题56 - I. 数组中数字出现的次数

题目: 面试题56 - I. 数组中数字出现的次数 260. 只出现一次的数字 III 题解: 注意: x & -x 表示的含义是:获得 x 中最低位的1。 代码: /** * 面试题56_1 */ public class 面试题56_1 { public st...

2020-06-02 13:40:47 102 0

原创 137. 只出现一次的数字 II

题目: 137. 只出现一次的数字 II 题解: public static int singleNumber(int[] nums) { int a = 0; int b = 0; for(int i = 0; i < nums.length; i++) ...

2020-06-02 11:59:27 75 0

原创 136. 只出现一次的数字

题目: 136. 只出现一次的数字 题解: 代码: public class code136 { public static int singleNumber(int[] nums) { int ans = 0; for(int i = 0; i &...

2020-06-02 11:31:43 62 0

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