关注
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
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛油的搬砖plog #
27175次浏览 116人参与
# 大学最后一个寒假,我想…… #
29094次浏览 276人参与
# 一人一个landing小技巧 #
24192次浏览 468人参与
# 我在牛爱网找对象 #
178567次浏览 1339人参与
# 520告白墙 #
19420次浏览 327人参与
# 找工作的破防时刻 #
25947次浏览 391人参与
# 电网笔面经互助 #
31721次浏览 317人参与
# 数字马力求职进展汇总 #
171867次浏览 1454人参与
# 为什么那么多公司毁约 #
163597次浏览 1223人参与
# 正在实习的你,有转正机会吗? #
371156次浏览 2858人参与
# 腾讯音乐求职进展汇总 #
86371次浏览 486人参与
# 实习学不到东西怎么办? #
203953次浏览 2113人参与
# 运营每日一题 #
67730次浏览 649人参与
# 25届秋招公司红黑榜 #
259558次浏览 1089人参与
# 我发现一个规律 #
3383次浏览 33人参与
# 面试被问第一学历差时该怎么回答 #
122783次浏览 765人参与
# 查收我的offer竞争力报告 #
176724次浏览 1068人参与
# 通信硬件知识分享 #
25619次浏览 460人参与
# 外卖平台被约谈 #
2263次浏览 17人参与
# 运营人求职交流聚集地 #
127859次浏览 961人参与