面试常考
面试常考的题目
haikuotiankongdong
这个作者很懒,什么都没留下…
展开
-
最长公共字符串后缀(JAVA)
最长公共字符串后缀public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); String[] strings = str.split(","); int n = strings.length; int j = 0; String s = strin原创 2020-10-19 15:56:45 · 649 阅读 · 0 评论 -
线程间通信(循环打印abc)
线程间通信wait/notify/notify Allpublic class Test77 { public static class ThreadPrinter implements Runnable { private String name; private Obj...原创 2020-03-02 18:10:18 · 330 阅读 · 2 评论 -
矩阵翻转
//顺时针 public static int[][] change(int [][]matrix){ int [][]temp=new int[matrix[0].length][matrix.length]; int dst=matrix.length-1; for(int i=0;i<matrix.length;i++,dst--){ for(int j=0;j<matrix[0].length;j++){原创 2020-09-27 21:04:54 · 535 阅读 · 0 评论 -
判断图是否有环
参考https://blog.csdn.net/login_sonata/article/details/78002042自己根据题的意思算法package com.company;import java.util.ArrayList;import java.util.List;public class Main { //邻接矩阵 static int[][] graph; //结点个数和边的个数 static int vNum,eNum; //标原创 2020-09-28 10:22:02 · 191 阅读 · 0 评论 -
4.1 LeetCode--最长回文串(暴力法,中心扩展,动态规划)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”1 判断一个字符串是否是回文串(左右对称)单个数字默认为是public class isPlalindrome { public static voi...原创 2019-09-16 20:15:11 · 255 阅读 · 0 评论 -
2验证回文字符串 Ⅱ
验证回文字符串 Ⅱ给定一个非空字符串s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。class Solution { public boolean validPal...原创 2020-03-14 16:54:05 · 140 阅读 · 0 评论 -
3 旋转数组
旋转数组/** * @Auther: liuhaidong * Data: 2020/4/7 0007、16:24 * Description: * @version: 1.0 */public class Test24 { /* * 给定一个N*N的整形矩阵Matrix,把这个...原创 2020-04-07 16:44:57 · 112 阅读 · 0 评论 -
3 、leetcode 无重复字符的最长子串
无重复字符的最长子串class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); Set<Character> sets = new HashSet<>...原创 2020-04-12 15:02:30 · 105 阅读 · 0 评论 -
5 删除链表中的节点
删除链表中的节点/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class S...原创 2020-04-12 15:05:35 · 108 阅读 · 0 评论 -
6 只出现一次的数字I II III
只出现一次的数字I II IIIhttps://leetcode-cn.com/problems/single-number/只出现一次的数字class Solution { public int singleNumber(int[] nums) { if(nums == null || nums...原创 2020-04-12 21:17:17 · 332 阅读 · 0 评论 -
2、7 LeetCode(两数相加) 两数相加 II 链表的形式
两数相加给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> ...原创 2020-03-10 12:44:02 · 137 阅读 · 0 评论 -
8 LeetCode数组中和为定值的子集
数组中和为定值的子集题目具体是这样的,给定n个数字,比如{2,6,1,7,4,9},并给定一个SUM,比如SUM=20,在上述这6个数字中,挑出一些,使得他们的和等于SUM,把所有的组合都找出来。我们这个例子的结果就是:1 + 2 + 4 + 6 + 7 = 201 + 4 + 6 + 9 = 204 + 7 + 9 = 20...原创 2020-04-12 22:44:27 · 4148 阅读 · 0 评论 -
1、8 leetcode:两数之和,三数之和,和为定值子集组合
leetcode:两数之和,三数之和两数之和题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, ...原创 2020-03-09 21:55:53 · 846 阅读 · 0 评论 -
9 LeetCode 树中两个结点的最低公共祖先
树中两个结点的最低公共祖先二叉搜索树的最近公共祖先题目要求从根结点为root的树返回p、q的最近公共祖先,使用递归,很自然地,如果p、q均小于root,则应该由root的左子树返回p、q的最近公共祖先;如果p、q均大于root,则应该由root的右子树返回p、q的最近公共祖先。由此可以写出递归代码。直到p、q既不同时大...原创 2020-04-12 23:27:20 · 186 阅读 · 0 评论 -
22 59 (10)剑指offer 数据结构---二叉树的遍历 N叉树的层序遍历
二叉树的遍历public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}前序遍历// 用递归的方法进行先序遍历public void...原创 2019-10-19 15:50:01 · 312 阅读 · 0 评论 -
11 有序的数组中找到某一目标值首次出现的下标
有序的数组中找到某一目标值首次出现的下标给定一个升序的数组,这个数组中可能含有相同的元素,并且给定一个目标值。要求找出目标值在数组中首次出现的下标。思想:题目给出有序数组,应该想到利用二分查找来做。找到左邻居,使其值加一。利用二分查找,算法复杂度为O(logn)/** * @Auther: liuhaidong * Data: 2020/...原创 2020-03-25 10:38:06 · 1096 阅读 · 1 评论 -
12 最长公共子序列
最长公共子序列问题给定两个字符串text1 和text2,返回这两个字符串的最长公共子序列。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" ...原创 2020-04-14 00:54:56 · 132 阅读 · 0 评论 -
13 排列子集总结
排列组合总结子集给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[] ]pu...原创 2020-02-09 15:37:33 · 323 阅读 · 0 评论 -
14 LeetCode--组合(回朔法)
组合题目给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入:n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]回朔法pub...原创 2019-10-30 17:23:57 · 233 阅读 · 0 评论 -
15 喝啤酒
喝啤酒问题public static void main(String[] args) { System.out.println(help(8)); } public static int sum = 0; public static int help(int mon...原创 2020-02-24 22:37:25 · 146 阅读 · 0 评论 -
16 替换字符串中的通配符?
替换字符串中的通配符?/** 给定字符串(合法字符只包括0,1,?),替换字符串中的通配符?为0或者1,生成所有可能的字符串。* Input str = "1??0?101"* Output: * 10000101* 10001101* 10100101*...原创 2020-04-18 12:26:15 · 467 阅读 · 0 评论 -
17 生成随机数
生成随机数做一串8位随机数包含大写字母和两个数字public class Test22 { public static void main(String[] args) { System.out.println(getRundom()); } public s...原创 2020-02-22 11:11:30 · 456 阅读 · 0 评论 -
18 一个01字符串,求出现0、1出现次数相等的最长子串长度
一个01字符串,求出现0、1出现次数相等的最长子串长度题目描述:已知一个长度为N的字符串,只由0和1组成, 求一个最长的子串,要求该子串出0和1出现的次数相等。要求算法时间复杂度尽可能的低。比如: 10000010111000001,所求为8,加粗的部分有4个0、4个1 最简单的想法就是遍历所有的子串,之后判断该子串是否满足条件N^...原创 2020-04-20 15:11:48 · 3192 阅读 · 0 评论 -
19 均分钱币(0 1背包问题)
均分钱币题目大意:给你一堆硬币,让你分成两堆,分别给A,B两个人,求两人得到的最小差。解题思路:求解两人分得钱币的最小差值,巧妙地转化为01背包问题。sum代表这堆钱币的总价值,ans=sum/2,求出得钱较少的人的钱币总量,即在这堆钱币中挑选出一定量的钱币,使得它的总值为小于...原创 2020-04-20 21:59:06 · 1031 阅读 · 0 评论 -
20 七进制数、36进制加法
七进制数、36进制加法/** * 36进制由0-9,a-z,共36个字符表示,最小为'0' * '0''9'对应十进制的09,'a''z'对应十进制的1035 * 例如:'1b' 换算成10进制等于 1 * 36^1 + 11 * 36^0 = 36 + 11 = 47 * 要求按照加法规则计算出任意两个36进制正整数...原创 2020-04-23 22:47:46 · 437 阅读 · 0 评论 -
21 最长数字字符串
最长数字字符串题目一 最长数字字符串给定一个字符串,输出字符串中最长的数字串,并把这个数字串的长度输出。请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串;注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“1234”的长度就小于数字串“...原创 2020-04-23 23:18:29 · 374 阅读 · 0 评论 -
22 二叉树的最长的路径长度和最大路径和
二叉树的最长的路径长度和最大路径和二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例2:输入: [-10,...原创 2020-04-25 10:30:39 · 5920 阅读 · 0 评论 -
23 二叉树的所有路径
二叉树的所有路径给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1-...原创 2020-04-25 11:10:10 · 280 阅读 · 0 评论 -
24 高原数组 局部最大值
高原数组 局部最大值https://blog.csdn.net/weixin_41563161/article/details/101027801题目给定一个无重复元素的数组A[0…N-1],求找到一个该数组的局部最大值。规定:在数组边界外的值无穷小。思想遍历...原创 2020-04-25 11:47:41 · 304 阅读 · 0 评论 -
25 逆波兰表达式、波兰表达式
逆波兰表达式、波兰表达式1.前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。比如:- × + 3 4 5 62.中缀表达式就是常见的运算表达式,如(3+4)×5-63.后缀表达式又称逆波兰表达式,与前缀表达式相似,只是运算符位于操作数之后,比如:3 4 + 5 × 6一.通过逆波兰表达式计算结果我们先看一个例子.....原创 2020-04-25 12:08:17 · 342 阅读 · 0 评论 -
26 中缀表达式求值(中缀转后缀,后缀求值)
中缀表达式import java.util.ArrayList;import java.util.Stack;/** * * @author yhh * */public class Calculate { /** * 将字符串转化成List * @param str * @return */ public ArrayList<St...原创 2020-05-13 10:32:14 · 272 阅读 · 0 评论 -
字节算法题--N阶台阶,每次走一步或两步,计算共有多少种走法,并将每种走法打印出来。
N阶台阶,每次走一步或两步,计算共有多少种走法,打印出每种走法。/** * @Auther: liuhaidong * Data: 2020/4/26 0026、14:50 * Description: * @version: 1.0 */public class Test7 { static final int s = 4; //自定义的台阶数 stat...原创 2020-04-27 11:11:42 · 2665 阅读 · 0 评论 -
28 字节算法打印所有回文串
中心拓展法O(n^2)遍历一遍字符串,以下标为中心,考虑子串长度是奇数或偶数,在这两种情况下拓展子串,判断子串是否是回文串。假设子串长度是奇数,选择一个字符为中心,向两边扩展进行判断。假设子串长度是偶数,选择两个字符为中心,向两边扩展进行判断。一层遍历,一层判断,时间复杂度是O(n^2)。也需要存储子串的内容,空间复杂度O(n)。import java.util.ArrayList;import java.util.List;/** * 一层遍历,一层判断,时间复杂度是O(n^2)。也需要原创 2020-09-27 10:46:02 · 203 阅读 · 0 评论