Skip to content

Commit cc7bf11

Browse files
committed
2 parents f0aeec6 + 2f25521 commit cc7bf11

9 files changed

Lines changed: 39 additions & 46 deletions

src/Distance.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
* 有一篇文章内含多个单词,现给定两个单词,请设计一个高效算法,找出文中这两个
33
* 单词的最短距离(即最少相隔的单词数,也就是两个单词在文章中位置的差的绝对值)。
44
* 给定一个string数组article,代表所给文章,同时给定文章的单词数n和待查找的

src/FindContinuousSequence.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
/*
2-
* 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。
3-
* 但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。
4-
* 没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,
5-
* 你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
6-
* 输出描述:
7-
* 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,
8-
* 序列间按照开始数字从小到大的顺序
1+
/*
2+
* 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。
3+
* 但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。
4+
* 没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,
5+
* 你能不能也很快的找出所有和为S的连续正数序列? Good Luck!
6+
* 输出描述:
7+
* 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,
8+
* 序列间按照开始数字从小到大的顺序
99
*/
1010
import java.util.ArrayList;
1111

src/NextElement.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/*
2-
* 现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素。
3-
* 给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,
4-
* 若不存在则为-1。保证数组中元素均为正整数。
5-
* 测试样例:
1+
/*
2+
* 现在我们有一个int数组,请你找出数组中每个元素的下一个比它大的元素。
3+
* 给定一个int数组A及数组的大小n,请返回一个int数组,代表每个元素比他大的下一个元素,
4+
* 若不存在则为-1。保证数组中元素均为正整数。
5+
* 测试样例:
66
* [11,13,10,5,12,21,3],7
7-
* 返回:[13,21,12,12,21,-1,-1]
7+
* 返回:[13,21,12,12,21,-1,-1]
88
*/
99
public class NextElement {
1010
public int[] findNext(int[] A, int n) {

src/NextElement2.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import java.util.TreeSet;
1+
import java.util.TreeSet;
22

33
/*
4-
* 现在有一个数组,请找出数组中每个元素的后面比它大的最小的元素,若不存在则为-1。
5-
* 给定一个int数组A及数组的大小n,请返回每个元素所求的值组成的数组。
6-
* 保证A中元素为正整数,且n小于等于1000。
7-
* 测试样例:
4+
* 现在有一个数组,请找出数组中每个元素的后面比它大的最小的元素,若不存在则为-1。
5+
* 给定一个int数组A及数组的大小n,请返回每个元素所求的值组成的数组。
6+
* 保证A中元素为正整数,且n小于等于1000。
7+
* 测试样例:
88
* [11,13,10,5,12,21,3],7
99
* [12,21,12,12,21,-1,-1]
1010
*/

src/Palindrome.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,15 @@ public boolean isPalindrome(ListNode pHead){
55
ListNode fast = pHead;
66
ListNode slow = pHead;
77
Stack<Integer> stack = new Stack<Integer>();
8-
/**
9-
* 将链表的前半部分元素装入栈中,当快速runner
10-
*(移动的速度是慢速runner的两倍)
11-
* 到底链表尾部时,则慢速runner已经处于链表中间位置
12-
*/
138
while(fast != null && fast.next != null){
149
stack.push(slow.val);
1510
slow = slow.next;
1611
fast = fast.next.next;
1712
}
18-
//当链表为奇数个时,跳过中间元素
1913
if (fast != null) {
2014
slow = slow.next;
2115
}
2216
while(slow != null){
23-
//如果两者不相同,则该链表不是回文串
2417
if (stack.pop() != slow.val) {
2518
return false;
2619
}

src/Robot.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
/*
2-
* 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。
3-
* 请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,
4-
* 请返回机器人的走法数目。保证x+y小于等于12。
5-
* 测试样例:2,2
6-
* 返回:2
1+
/*
2+
* 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。
3+
* 请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,
4+
* 请返回机器人的走法数目。保证x+y小于等于12。
5+
* 测试样例:2,2
6+
* 返回:2
77
*/
88
public class Robot {
99
public int countWays(int x, int y) {

src/Solution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
* 一个整型数组里除了两个数字之外,其他的数字都出现了两次。
33
* 请写程序找出这两个只出现一次的数字。
44
*/

src/Transform.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
/*
2-
* 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。
3-
* 给定两个整数int A,int B。请返回需要改变的数位个数。
4-
* 测试样例:
1+
/*
2+
* 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。
3+
* 给定两个整数int A,int B。请返回需要改变的数位个数。
4+
* 测试样例:
55
* 10,5
6-
* 返回:4
6+
* 返回:4
77
*/
88
public class Transform {
99
public int calcCost(int A, int B) {

src/TwoStacks.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import java.util.ArrayList;
1+
import java.util.ArrayList;
22
import java.util.Stack;
33

44
/*
5-
* 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,
6-
* 但不得将元素复制到别的数据结构中。
7-
* 给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。
8-
* 请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。
9-
* 测试样例:
5+
* 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,
6+
* 但不得将元素复制到别的数据结构中。
7+
* 给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。
8+
* 请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。
9+
* 测试样例:
1010
* [1,2,3,4,5]
11-
* 返回:[5,4,3,2,1]
11+
* 返回:[5,4,3,2,1]
1212
*/
1313
public class TwoStacks {
1414
public ArrayList<Integer> twoStacksSort(int[] numbers) {

0 commit comments

Comments
 (0)