![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
嫩不嫩上天
美丽无比小天才
展开
-
12.和为s得俩个数
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。返回值描述:对应每个测试案例,输出两个数,小的先输出。示例1输入复制[1,2,4,7,11,15],15返回值复制[4,11]import java.util.ArrayList;public class Solution { public ArrayList<Integer> FindNumber原创 2021-05-10 16:08:45 · 80 阅读 · 1 评论 -
11.数组中只出现一次得俩个数字
题目描述一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。示例1输入复制[1,4,1,6]返回值复制[4,6]说明返回的结果中较小的数排在前面 import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param ar.原创 2021-05-10 16:05:11 · 88 阅读 · 0 评论 -
10.链表中倒数第k个值
题目描述输入一个链表,输出该链表中倒数第k个结点。如果该链表长度小于k,请返回空。示例1输入复制{1,2,3,4,5},1 返回值复制{5}import java.util.*;/* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */原创 2021-05-08 18:29:25 · 84 阅读 · 0 评论 -
9.调整数组顺序,奇数位于偶数前
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。示例1输入复制[1,2,3,4]返回值复制[1,3,2,4]示例2输入复制[2,4,6,5,7]返回值复制[5,7,2,4,6]import java.util.*;public class Solution { /** * 代码...原创 2021-05-08 18:08:36 · 61 阅读 · 0 评论 -
8.数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任一一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1示例1输入复制[2,3,1,0,2,5,3]返回值复制2或3代码import java.util.*;public class Solution { /**原创 2021-05-08 17:03:43 · 136 阅读 · 0 评论 -
7.括号系列
题目描述给出一个仅包含字符'(',')','{','}','['和']',的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()"和"()[]{}"都是合法的括号序列,但"(]"和"([)]"不合法。示例1输入复制"["返回值复制falseimport java.util.*;//栈//empty()函数返回stack是否为空,空返回真。public class Solution { /** * * @原创 2021-04-24 15:51:35 · 178 阅读 · 0 评论 -
6.数组中出现次数超过一半的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。示例1输入复制[1,2,3,2,2,2,5,4,2]返回值复制2import java.util.*;public class Solution { public int MoreThanHalfNum_Solution(int [].原创 2021-04-24 15:14:07 · 69 阅读 · 0 评论 -
5.二分查找--实现有重复数字的升序数组的
题目描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1示例1输入复制[1,2,4,4,5],4返回值复制2说明从左到右,查找到第1个为4的,下标为2,返回2 import java.util.*;public class Solution { /** * 代码中的类名、方法名.原创 2021-04-24 14:39:04 · 706 阅读 · 0 评论 -
4.最小的k个数
题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组示例1输入复制[4,5,1,6,2,7,3,8],4 返回值复制[1,2,3,4]import java.util.ArrayList;import java.util.*;public class Solution { public ArrayList<Integ.原创 2021-04-24 14:37:40 · 72 阅读 · 0 评论 -
3.反转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。示例1输入复制{1,2,3}返回值复制{3,2,1}public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseLis...原创 2021-04-24 14:36:14 · 67 阅读 · 0 评论 -
2.最长无重复子串
题目描述给定一个数组arr,返回arr的最长无的重复子串的长度(无重复指的是所有数字都不相同)。示例1输入复制[2,3,4,5]返回值复制4import java.util.*; public class Solution { /** * * @param arr int整型一维数组 the array * @return int整型 */ public int maxLength (int[] arr原创 2021-04-24 14:31:47 · 116 阅读 · 0 评论 -
1.俩数之和
题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2import java.util.*;public class Solution { /** * ..原创 2021-04-23 21:14:22 · 69 阅读 · 0 评论