4 张业兴

学生身份

我要认证

北邮计算机硕士在读 talk is cheap, show me code!

等级
TA的排名 4k+

145. 二叉树的后序遍历

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

2020-09-21 12:17:41

144. 二叉树的前序遍历

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

2020-09-21 11:58:16

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

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

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

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

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

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

最长公共子串

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

2020-09-16 18:05:32

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

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

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

680. 验证回文字符串 Ⅱ

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

2020-09-15 18:03:40

125. 验证回文串

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

2020-09-15 16:54:38

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

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

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

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

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

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

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。