![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
文章平均质量分 92
应钟二十六
山高路远 未来见
展开
-
剑指offer-21~30(基础必会!)
21. 调整数组顺序使奇数位于偶数前面思路使用双指针法思路一:首尾双指针注意判断数组的引用指向,老是忘,该打!class Solution { public int[] exchange(int[] arr) { if(arr == null || arr.length == 0) return arr; int left = 0; int right = arr.length-1; int key = arr[left];原创 2021-08-15 22:01:39 · 79 阅读 · 0 评论 -
剑指offer-31~40
31.栈的压入、弹出序列(※※)思路:使用辅助栈来模拟栈的进出无脑将元素压入栈 判断栈顶和当前的i 的指向元素是否相等。相等 出栈 然后移动i 继续判断不相等 就继续压栈 直到找到相等的为止最后判断栈是否为空即可。class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { Deque<Integer> stack = new LinkedL原创 2021-08-12 23:22:46 · 81 阅读 · 0 评论 -
剑指offer 41-50
44. 数字序列中某一位的数字这是一道找规律的题。规律有点难找。45.把数组排成最小的数(※)原来的想法是全部拿出来,拼接成一个字符串,转成成字符数组,排序,然后特殊判断第一个是不是0 ,但是是我敷衍了。确实出现了一些问题!public static String minNumber1(int[] nums) { if(nums == null || nums.length == 0) return ""; StringBuilder sb = new Stri原创 2021-08-09 19:56:27 · 89 阅读 · 0 评论 -
剑指offer-51~60
51.数组中的逆序对(※)思路一:暴力枚举每一个数字,然后遍历之后的数字,找到比当前数字小的但是超时了class Solution { public int reversePairs(int[] nums) { int res = 0; for(int i = 0;i < nums.length;i++){ for(int j = i+1; j < nums.length;j++){ if原创 2021-08-04 20:06:33 · 98 阅读 · 0 评论 -
剑指offer- 61~68(完结篇)
61.扑克牌中的顺子(√)这个题并不简单,有点意思啊!思路:排序+ 跳过0+判断相邻的是否相差1public boolean isStraight(int[] nums) { Arrays.sort(nums); for(int i = 0; i < nums.length;i++){ if(nums[i] == 0) continue; //第二个不是0 但是减去前一个 >1 或者是第二个不是0 但是和前原创 2021-08-03 09:46:21 · 119 阅读 · 0 评论