关注
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
相关推荐
昨天 12:34
门头沟学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-11 00:13
南华大学 嵌入式软件开发
牛客44664404...:把个人技能删了 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你想跟着什么样领导? #
5978次浏览 82人参与
# 什么样的背景能拿SSP? #
117479次浏览 410人参与
# 百度秋招 #
56147次浏览 394人参与
# 你的秋招白月光和意难平公司 #
7620次浏览 82人参与
# 分享一个让你热爱工作的瞬间 #
47628次浏览 412人参与
# 找实习是选平台还是选业务? #
10581次浏览 149人参与
# 从夯到拉,评价编程语言 #
5217次浏览 48人参与
# 秋招签约后的心态变化 #
106249次浏览 923人参与
# 职场吐槽大会 #
289969次浏览 2111人参与
# 每个月花钱最多的地方是? #
5558次浏览 77人参与
# xxx岗位的一天 #
10338次浏览 92人参与
# 作业帮求职进展汇总 #
77847次浏览 520人参与
# 十一月总结 #
13697次浏览 147人参与
# 你面试时吹过最大的牛 #
20599次浏览 116人参与
# 为什么国企只招应届生 #
218644次浏览 1262人参与
# 饿了么求职进展汇总 #
80443次浏览 684人参与
# 非技术求职现状 #
549733次浏览 3509人参与
# 实习学到最有价值的工作习惯 #
43782次浏览 378人参与
# 韶音科技求职进展汇总 #
65168次浏览 510人参与
# AI“智障”时刻 #
6231次浏览 55人参与
# 实习生如何通过转正 #
111944次浏览 1421人参与