数组
Sruur
这个作者很懒,什么都没留下…
展开
-
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
分析因为数组已经有序,我们可以发现,靠近两边的符合条件的值肯定是乘积小的。import java.util.ArrayList;public class Solution { public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { ArrayList<Integer> list = new ArrayList<>(); //检查边界原创 2020-07-24 20:19:03 · 332 阅读 · 0 评论 -
单链表实现约瑟夫环
题目背景这是一个残酷的故事:据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这原创 2020-07-24 14:15:50 · 136 阅读 · 0 评论 -
用数组模拟栈结构
栈的特点(Stack)是一种线性存储结构,它具有如下特点:栈中的数据元素遵守”后进先出”(First In Last Out)的原则,简称FILO结构。限定只能在栈顶进行插入和删除操作。数组实现package stack;/** * 使用数组模拟栈 * top :表示栈顶,初始化默认为-1 * 入栈:top++ ,stack[top] = data * 出栈:val = stack[top --] ,return val */public class ArrayStack {原创 2020-07-24 10:52:08 · 111 阅读 · 0 评论 -
不用库函数将字符串转换为一个整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入+21474836471a33输出21474836470来源:牛客网public class Solution { public int StrToInt(String str) { if(str == null || str原创 2020-07-23 19:22:54 · 279 阅读 · 0 评论 -
找出数组中那个第一次重复的数字
题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。(来源: 牛客网.)先排序,在找重复的手写排序,较为麻烦public class Solution { public boolean duplicate(int numbers[],int length,int [] du原创 2020-07-23 18:17:18 · 919 阅读 · 2 评论