关注
import java.util.*;
public class Main{
public static void main(String[] args) {
int[] nums = {6, 1, 5, 3, 1, 1, 2, 2, 2, 2, 1, 3, 3, 4, 4, 4, 5, 5, 5};
delSameNum(nums);
}
public static void delSameNum(int[] nums) {
if (nums == null || nums.length == 0)
return;
LinkedList<Integer> stack = new LinkedList<>();
int count = 1;
for(int i = 0; i < nums.length; i++) {
if (!stack.isEmpty()) {
if (stack.peek() == nums[i]) {
stack.push(nums[i]);
count++;
if (i == nums.length - 1 && count >= 3) {
while (count-- != 0)
stack.pop();
}
} else if ((stack.peek() != nums[i]) && count >= 3) {
while (count-- != 0)
stack.pop();
count = 1;
if (stack.size() > 1) {
int tmp = stack.pop();
if (tmp == stack.peek())
count++;
stack.push(tmp);
}
if (!stack.isEmpty() && stack.peek() == nums[i]) {
stack.push(nums[i]);
count++;
if (i == nums.length - 1 && count >= 3) {
while (count-- != 0)
stack.pop();
}
} else {
stack.push(nums[i]);
}
} else {
count = 1;
stack.push(nums[i]);
}
} else
stack.push(nums[i]);
}
int[] arr = new int[stack.size()];
for (int i = arr.length - 1; i >= 0; i--) {
arr[i] = stack.pop();
}
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
查看原帖
点赞 1
相关推荐
05-30 00:12
江西服装学院 Java 头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
13733次浏览 186人参与
# 面试官是我前女友 #
106890次浏览 731人参与
# 实习生的蛐蛐区 #
39750次浏览 329人参与
# 当你面对裁员会如何? #
275921次浏览 2438人参与
# 计算机有哪些岗位值得去? #
12816次浏览 133人参与
# lastday知无不言 #
56850次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14421次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14002次浏览 97人参与
# 说说你知道的学历厂 #
28110次浏览 178人参与
# 你找工作的时候用AI吗? #
14783次浏览 192人参与
# 下班后的时间你怎么安排 #
7395次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7212次浏览 166人参与
# 携程求职进展汇总 #
559402次浏览 4258人参与
# 面试尴尬现场 #
23619次浏览 163人参与
# 工作后会跟朋友渐行渐远吗 #
30031次浏览 216人参与
# 中核求职进展汇总 #
20127次浏览 152人参与
# 社会教会你的第一课 #
29184次浏览 394人参与
# 多益网络工作体验 #
49626次浏览 280人参与
# 虾皮求职进展汇总 #
244159次浏览 1797人参与
# 神州信息工作体验 #
15996次浏览 75人参与