摘要:
输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459" 提示: 0 < nums.length ⇐ 100 说明: 输出结果可能非 阅读全文
摘要:
输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 1: 输入:n = 12 输出:5 示例 2: 输入:n = 13 输出:6 限制: 1 ⇐ n < 2^31 1、暴力 class 阅读全文
摘要:
输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 ⇐ nums .l 阅读全文
摘要:
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k = 1 输 阅读全文
摘要:
冒泡排序 public void sorts(int[] a) { for(int i=0;i<a.length;i++){ boolean flag=false; for(int j=0;j<a.length-1-i;j++){ if(a[j]>a[j+1]){ int temp=a[j]; a[ 阅读全文
摘要:
在java中,基本数据类型传递的就是他的数据,引用类型传递的是他的地址。 因此,当A方法传递一个基本数据类型到B方法时,在B方法中无论怎么修改这个值都不会改变A方法中的值,B中修改的值随着B方法结束运行被弹出栈,不会影响到A方法中的值 public class PassTest { public s 阅读全文
摘要:
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2 限制: 1 ⇐ 数组长度 ⇐ 50000 1、数组排序 //自带的方法 //时间复杂度:O 阅读全文
摘要:
输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 限制: 1 ⇐ s 的长度 ⇐ 8 1、回溯 class Solution 阅读全文
摘要:
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节 阅读全文
摘要:
参考学习 https://zhuanlan.zhihu.com/p/30321358 https://blog.csdn.net/javazejian/article/details/51348320 假如没有重写equals方法,那么equals方法跟==没有区别,都是比较对象的内存地址。 //O 阅读全文