自定义博客皮肤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!

  • 博客(43)
  • 收藏
  • 关注

原创 151. 翻转字符串里的单词

参考:面试题58 - I. 翻转单词顺序

2020-09-30 23:02:37 85

原创 124. 二叉树中的最大路径和

题目:124. 二叉树中的最大路径和[编程题]二叉树的最大路径和题解:代码:public class code124 { int maxValue; public int maxPathSum(TreeNode root) { maxValue = Integer.MIN_VALUE; maxPathDown(root); return maxValue; } /** * 返回经过 node 的单

2020-09-30 22:08:20 71

转载 手写线程池

1. 先定义一个保存任务的队列类,同时提供获取任务和添加任务的方法:// 1. 先定义一个保存任务的队列类,同时提供获取任务和添加任务的方法package com.company;import java.util.*;public class RunnableTaskQueue { /** * 定义一个LinkedList来做为存放任务的队列 */ private final LinkedList<Runnable> tasks = new Li

2020-09-28 22:56:07 80

原创 手写单例模式

1. 静态内部类实现单例(线程安全、效率高)一。静态内部类实现:这种方式是 Singleton 类被装载了, instance 不一定被初始化。因为 SingletonHolder 类没有被主动使用,只有通过显示调用 getInstance 方法时,才会显示装载 SingletonHolder 类,从而实例化 instance 。注意内部类SingletonHolder要用static修饰且其中的静态变量INSTANCE必须是final的。public class Singleton {

2020-09-25 01:12:57 91

原创 剑指 Offer 67. 把字符串转换成整数

参考:8. 字符串转换整数 (atoi)

2020-09-24 01:12:38 55

原创 剑指 Offer 63. 股票的最大利润

参考:121. 买卖股票的最佳时机

2020-09-24 01:09:50 38

原创 剑指 Offer 56 - II. 数组中数字出现的次数 II

参考:137. 只出现一次的数字 II

2020-09-24 01:03:53 34

原创 剑指 Offer 55 - II. 平衡二叉树

参考:110. 平衡二叉树

2020-09-24 00:56:59 29

原创 剑指 Offer 55 - I. 二叉树的深度

参考:104. 二叉树的最大深度

2020-09-24 00:55:06 30

原创 剑指 Offer 48. 最长不含重复字符的子字符串

参考:3. 无重复字符的最长子串

2020-09-24 00:46:52 29

原创 剑指 Offer 42. 连续子数组的最大和

参考:53. 最大子序和

2020-09-23 21:55:22 26

原创 剑指 Offer 39. 数组中出现次数超过一半的数字

参考:169. 多数元素

2020-09-23 21:51:47 21

原创 剑指 Offer 34. 二叉树中和为某一值的路径

参考:113. 路径总和 II

2020-09-23 21:46:54 53

原创 剑指 Offer 32 - III. 从上到下打印二叉树 III

参考:103. 二叉树的锯齿形层次遍历

2020-09-23 21:43:50 34

原创 剑指 Offer 32 - II. 从上到下打印二叉树 II

参考:102. 二叉树的层次遍历

2020-09-23 21:41:05 30

原创 剑指 Offer 29. 顺时针打印矩阵

参考:54. 螺旋矩阵

2020-09-23 21:36:14 27

原创 剑指 Offer 28. 对称的二叉树

参考:101. 对称二叉树

2020-09-23 21:33:26 30

原创 剑指 Offer 25. 合并两个排序的链表

参考:21. 合并两个有序链表

2020-09-23 21:28:13 27

原创 剑指 Offer 24. 反转链表

参考:206. 反转链表

2020-09-23 21:24:27 1067

原创 剑指 Offer 16. 数值的整数次方

参考:50. Pow(x, n)

2020-09-23 20:40:06 26

原创 145. 二叉树的后序遍历

题目:145. 二叉树的后序遍历题解:1. 题解一:递归后序遍历第一种解决方法是使用递归。这是经典的方法,直截了当。我们可以定义一个辅助函数来实现递归。2. 题解二:迭代后序遍历代码:1. 代码一:递归后序遍历/** * code145 */import java.util.*;public class code145 { // 解法一:递归 public static List<Integer> postorderTraversal(Tree

2020-09-21 12:17:41 79

原创 144. 二叉树的前序遍历

题目:144. 二叉树的前序遍历题解:1. 题解一:递归前序遍历第一种解决方法是使用递归。这是经典的方法,直截了当。我们可以定义一个辅助函数来实现递归。2. 题解二:迭代前序遍历代码:1. 代码一:递归前序遍历/** * code144 */import java.util.*;public class code144 { // 解法一:递归 public static List<Integer> preorderTraversal(TreeN

2020-09-21 11:58:16 67

转载 Java中如何遍历Map对象的4种方法

在Java中如何遍历Map对象How to Iterate Over a Map in Java在java中遍历Map有不少的方法。我们看一下最常用的方法及其优缺点。既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。Map<Int.

2020-09-21 01:10:37 37

原创 9.20 度小满笔试

1. 第一题:题目:1. 代码一:import java.util.*;public class Main1_1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); // 小A手上的颜料 String t = sc.next(); // 画画需要的燃料 Map<Cha

2020-09-21 01:04:04 239

原创 9.18 商汤科技笔试

1. 第一题:走迷宫 门 ABCDE 锁abcde 墙X .路// AC: 60%import java.util.*;public class Main1 { public static void dfs(char map[][], int i, int j) { if(i < 0 || i >= map.length || j < 0 || j >= map[0].length || map[i][j] == 'X' || map[i]

2020-09-19 00:54:47 77

原创 9.17 京东笔试

1. 第一题:正则表达式题目:代码:import java.util.*;public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); s = s.trim(); if(s == "") { S

2020-09-18 12:41:20 228

原创 LeeCode中如何定义常见的数据结构?

1. 单链表:// Definition for singly-linked list.public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}2. 二叉树结点:// Definition for a binary tree node.public class TreeNode { int val; TreeNode left;

2020-09-17 12:15:20 89

原创 820. 单词的压缩编码

题目:820. 单词的压缩编码题解:1. 题解一:存储后缀2. 题解二:字典树解释一:解释二:代码:1. 代码一:存储后缀// 方法一: 存储后缀public static int minimumLengthEncoding(String[] words) { Set<String> set = new HashSet<>(Arrays.asList(words)); for(String word: words)

2020-09-16 20:44:32 129

原创 最长公共子串

题目:[编程题]最长公共子串题解:对比:1143. 最长公共子序列借助一下《图解算法》中的例子。假设对于两个字符串 fish 和 hish,我们可以绘制一个这样的表格,来求解它们最长的公共子串,即:注意,最长公共子串的最终答案并不一定在最后一个格子里,所以我们还需要一个变量 max 来记录最大值。注意:如果我们还需要知道具体的最长公共子串是什么,那么就需要再添加一个变量,记录最大值出现的位置,然后往前取最长公共子串的长度即可。代码:public class 最长公共子串 {

2020-09-16 18:05:32 83

原创 1143. 最长公共子序列

题目:1143. 最长公共子序列题解:动态规划代码:动态规划public class code1143 { public static int longestCommonSubsequence(String text1, String text2) { int n1 = text1.length(); int n2 = text2.length(); // dp[i][j] 表示 S1 的前 i 个字符与 S2 的前 j 个字符最长公共子

2020-09-16 17:15:44 50

原创 41. 缺失的第一个正数

题目:41. 缺失的第一个正数题解:1. 解释一:2. 解释二:3. 解释三:4. 解释四:代码:public class code41 { // tips: 正整数从1开始,初步换序后,a[0]应为1,a[1]应为2 public static int firstMissingPositive(int[] nums) { int n = nums.length; // 换序的过程即将数换到正确位置的过程,最多换n个,故

2020-09-16 01:27:45 44

原创 1371. 每个元音包含偶数次的最长子字符串

题目:1371. 每个元音包含偶数次的最长子字符串题解:代码:import java.util.Arrays;public class code1371 { public static int findTheLongestSubstring(String s) { int n = s.length(); // 1左移5次 相当于2^5,从00000-11111种状态,代表5个元音字母的个数是否为偶数,0代表偶数,1代表奇数 int

2020-09-15 20:21:12 85

原创 680. 验证回文字符串 Ⅱ

题目:680. 验证回文字符串 Ⅱ题解:代码:public class code680 {// 思路: 判断是否是回文串,只要存在一个不相同,即不为回文串;// 删除一个字符串的方法:① 删除左边的 ②删除右边的// 删除之后只需要判断没判断过的部分,不需要重新开始了喔!! public static boolean validPalindrome(String s) { // 不用判断边界 int

2020-09-15 18:03:40 48

原创 125. 验证回文串

题目:125. 验证回文串题解:1. 题解一:正则表达式我们还可以使用正则匹配,把特殊字符过滤掉,只留下字母和数字,然后转化为小写,再反转,最后在判断是否相等。当然这种写法只是提供了一种思路,面试中如果写出这种肯定还会让你再写一种的,因为它没有完全考察出对这题的解题思路。2. 题解二:双指针中的左右指针最简单的就是使用双指针,一个指向前,一个指向后,遇到空格以及特殊字符要跳过,然后判断。代码:1. 代码一:正则表达式// 方法1: 正则表达式public static boole

2020-09-15 16:54:38 85

原创 132. 分割回文串 II

题目:132. 分割回文串 II题解:代码:public class code132 { public static int minCut(String s) { int len = s.length(); if(len < 2) { return 0; } // dp[i]:表示前缀子串 s[0:i] 分割成若干个回文子串所需要最小分割次数。 int d

2020-09-15 14:53:02 54

原创 131. 分割回文串

题目:131. 分割回文串题解:经典回溯写法代码:经典回溯写法1. 写法1:import java.util.*;public class code131 { public List<List<String>> res = new ArrayList<>(); public String s; public List<List<String>> partition(String s) {

2020-09-15 01:20:13 45

原创 9.13 美团笔试

第五题:import java.util.*;public class Main5 { public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()) { int n = in.nextInt(); int[][] data = new int[n][3];

2020-09-14 17:57:58 228

原创 8.27 京东笔试

1. 第一题:// 参考:// https://www.nowcoder.com/discuss/491030// https://www.nowcoder.com/discuss/490892// https://blog.csdn.net/zyx_ly/article/details/106766702//// 题目:2,3,5组成的所有数的第n个数//// 思路:问题转换成十进制n转换成3进制数,用三进制的0,1,2对应题目的2,3,5.// 由于n的计数不是从0开始而是从1开始,

2020-09-08 20:43:04 84

原创 9.4 哔哩哔哩笔试

1. 第一题:public class Main1 { public static int GetMaxConsecutiveOnes(int[] arr, int k) { int left = 0; int right = 0; int max = 0; int zero = 0; while(right != arr.length) { if(arr[right++] =

2020-09-08 20:30:40 108

原创 9.8 小米笔试

1. 第一题:// 第一题:判断密码是否符合要求:// 给一系列密码:每个密码用空格分隔//(1)同时具有大写、小写、符号、数字输出0;//(2)长度不在8-120之间,输出1;//(3)类型不符合输出2;import java.util.*;public class Main1 {// // 方法1://// public static final String REG_NUMBER = ".*\\d+.*";//// public static final

2020-09-08 20:26:38 138

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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