![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
weixin_38114913
这个作者很懒,什么都没留下…
展开
-
数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 这一的本意就是重写排序的比较函数 import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; ...翻译 2019-07-15 15:02:09 · 123 阅读 · 0 评论 -
乘积数组
题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 第一种方法:B[i]值为除A[i]值的乘积,那么就另A[i]值为11;(但时间复杂度O(n2)) import java.util.ArrayList; public ...转载 2019-07-15 10:42:08 · 129 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点。
/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { public ListNode FindKthToTail(ListNode head,in...原创 2019-06-28 22:21:11 · 83 阅读 · 0 评论 -
矩阵中的路径
题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字...翻译 2019-07-09 22:01:28 · 61 阅读 · 0 评论 -
链表的环的入口结点
第一种:快慢指针法,如果有环,则两个指针一定相遇。此时,慢指针回到头结点,快指针在相遇点不变,两者同时往前走。再次相遇的时候就是环入口。下图中N为环的长度。 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val ...原创 2019-07-09 17:14:05 · 104 阅读 · 0 评论 -
最小的K个数
第一种方法就是快排,最重要的是partition函数会写 import java.util.ArrayList; public class Solution { public ArrayList GetLeastNumbers_Solution(int [] input, int k) { ArrayList aList = new ArrayList(); ...原创 2019-07-09 15:29:26 · 83 阅读 · 0 评论 -
青蛙跳台阶-2
看着有难度 分析一下非常简单: 因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级 跳1级,剩下n-1级,则剩下跳法是f(n-1) 跳2级,剩下n-2级,则剩下跳法是f(n-2) 所以f(n)=f(n-1)+f(n-2)+...+f(1) 因为f(n-1)=f(n-2)+f(n-3)+...+f(1) 所以f(n)=2*f(n-1) public cla...原创 2019-06-24 22:24:13 · 88 阅读 · 0 评论 -
青蛙跳台阶
几种方法都通过测试样例了, public class Solution { public int JumpFloor(int target) { if(target == 0){return 1 ; } //坑,0个台阶这里有点儿问题,为了满足斐波那契,使他为1,也可以通过 if(target == 1){r...原创 2019-06-24 22:08:15 · 70 阅读 · 0 评论 -
实现一个能够得到栈中所含最小元素的min函数
通过引入这两个包来实现 import java.util.Stack; import java.util.Iterator; import java.util.Stack; import java.util.Iterator; public class Solution { Stack<Integer> stack = new Stack<...原创 2019-06-24 21:32:36 · 126 阅读 · 0 评论 -
顺时针打印矩阵
这个题目主要是进行多圈循环,从外向内,一层一层输出。定义 left right top bottom 四个变量,每循环一圈,则四个变量先给你缩一位。这题的难点是单行或者单列的输出。因此在从右向左和从下向上的时候给出条件限制,避免重复打印。 import java.util.ArrayList; public class Solution { public ArrayList&l...原创 2019-06-24 21:05:38 · 78 阅读 · 0 评论 -
二叉树镜像
题目如上,求一个额二叉树的镜像,其实就是递归;代码如下: class TreeNode{ int val = 0; TreeNode.left = null; TreeNode.right= null; public TreeNode(int val ){ this.val = val; } } public class S...原创 2019-06-24 19:59:44 · 53 阅读 · 0 评论 -
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { ...原创 2019-07-02 15:50:26 · 76 阅读 · 0 评论 -
求1+2+3+...+n
public class Solution { public int Sum_Solution(int n) { if(n==1)return 1; return n+Sum_Solution(n - 1); } }原创 2019-06-25 17:37:44 · 130 阅读 · 0 评论 -
输入一棵二叉树,求该树的深度
java中max函数的使用要import java.lang.Math ,然后Math .max(int a, int b); /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int...原创 2019-06-25 17:30:55 · 310 阅读 · 0 评论 -
找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)
leetcode 上这一题只要其余小写,因此设置一个26大小的表对应字母的下标,本题包括大写,因此标的大小应该是a~z(97~122),A~Z(65~90)共58位,代码如下: public class Solution { public int FirstNotRepeatingChar(String str) { if(str.length() == 0){ ...原创 2019-06-25 17:09:31 · 321 阅读 · 0 评论 -
求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?
思路: 将整数转为字符数组,然后比较每一个字符是否等于‘1’ public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int count = 0; for(int i = n; i>=1; i--){ Str...原创 2019-06-25 15:53:23 · 1221 阅读 · 0 评论 -
LeetCode——给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
题目: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例 2: 输入: [-1,-1...原创 2018-12-07 15:48:57 · 4311 阅读 · 0 评论 -
字符串的排列
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 import java.util.ArrayList; import java.util.List; import java.util.Collections; public class So...转载 2019-07-11 22:24:57 · 74 阅读 · 0 评论