- 博客(7)
- 收藏
- 关注
原创 错误的集合集合 S 包含从1到 n 的整数,丢失了一个整数并且有一个元素重复。
描述 集合 S 包含从1到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。 给定一个数组 nums 代表了集合 S 发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 示例 1: 输入: nums = [1,2,2,4] 输出: [2,3] 注意: 给定数组的长度范围是 [2, 10000]。 给定的数组是无序的。 思路: 排序 nums 数组后,相等的两个数字将会连续出
2020-08-04 18:03:57
854
原创 亲密字符串给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。
描述: 给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。 示例 1: 输入: A = “ab”, B = “ba” 输出: true 示例 2: 输入: A = “ab”, B = “ab” 输出: false 示例 3: 输入: A = “aa”, B = “aa” 输出: true 示例 4: 输入: A = “aaaaaaabc”, B = “aaaaaaacb” 输出: true 示例 5: 输入
2020-08-01 11:20:48
1257
原创 提取数组三个数的最大乘积
要求: 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 1.给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 2.输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。 思路: 排序之后最大乘积就两种情况:1、如果全是正数就是最后三个数相乘 2、如果有负数最大的乘机要么是最后三个数相乘,要么是两个最小的负数相乘再乘以最大的正数
2020-07-29 18:41:24
1311
原创 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。
给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所以返回最大的数 2 . 示例 3: 输入: [2, 2, 3, 1] 输出: 1 解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。 存在两个值为2的数,它们都排第二。 解题思路: ①将数组按照从大到小的顺序排序, ②再将顺序数组用集合的方法去掉重复的数据, ③然后返
2020-07-29 13:01:24
2554
2
原创 去重整数并排序
给定一个整数序列,把其中的重复的整数去掉,并将去重后的序列从小到达排序输出。 输入描述: 第一行,输入一个整数n,表示序列有n个整数。 第二行输入n个整数(每个整数大于等于1,小于等于1000),整数之间用空格分隔。 输出描述: 去重并且从小到大排列的整数序列,整数之间用空格分隔。 示例1 输入 6 5 3 3 4 2 2 输出 2 3 4 5 import java.util.*; public class Main { public static void main(String[] args
2020-07-25 16:48:25
999
原创 Java语言解决古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21… Scanner sc=new Scanner(System.in); System.out.print("请输入月份:"); int x = sc.nextInt(); while(x<0){ System.out.prin
2020-07-25 15:04:42
351
原创 Java语言求两个数的最大公约数和最小公倍数
输入两个正整数x1和x2,求其最大公约数和最小公倍数。 public static void multiple() { Scanner sc = new Scanner(System.in); System.out.print("请输入两个正整数:"); int x1 = sc.nextInt(); int x2 = sc.nextInt(); while(x1<=0||x2<=0){ S
2020-07-25 14:57:19
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人