Loading

摘要: https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements/ 如果只是让所有的元素相等,那么让一个数加多少和让一个数减多少是没有区别的 思路很简单,让所有的数减到与最小的数相等,计算数组中所有元素与最小数字差值的总和 阅读全文
posted @ 2021-10-20 10:51 Zhbeii 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 2 = 1.next 1.next = 0 0 = 1 1 = 2 ListNode prev = null; ListNode curr = head; while(curr != null){ ListNode next = curr.next; curr.next = prev; prev = 阅读全文
posted @ 2021-10-18 22:36 Zhbeii 阅读(16) 评论(0) 推荐(0) 编辑
摘要: https://leetcode-cn.com/problems/zhan-de-ya-ru-dan-chu-xu-lie-lcof/ 思路 创建一个辅助栈,将第一个序列按照压入顺序压入辅助栈,此时判断辅助栈栈顶元素与第二序列的第i个元素是否相等,如果不相等,第一序列继续压,如果辅助栈的栈顶与第二序 阅读全文
posted @ 2021-10-18 21:27 Zhbeii 阅读(21) 评论(0) 推荐(0) 编辑
摘要: https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/ 双指针: 前后指针,就像快排的模板,判断奇偶,交换 正解代码 class Solution { pu 阅读全文
posted @ 2021-10-18 17:10 Zhbeii 阅读(19) 评论(0) 推荐(0) 编辑
摘要: https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ 借助第三条链表[伪头节点] 在新初始化的链表中没有节点可以使用,一开始添加节点的时候有些无从下手,所以我们要初始化一个辅助节点,将节点添加到他的后面 阅读全文
posted @ 2021-10-18 16:03 Zhbeii 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 基础类型的数组不用纠结稳定性 在一些要求有多组排序要求的时候。 eg:不同班级不同年龄,当按照年龄排序之后,再进行班级的排序,如果是稳定的排序,第二次排序会保留第一次排序的结果,即:既是按年龄的排序又是按班级的排序。 不具备稳定性的排序: 选择排序,快速排序,堆排序 具有稳定性的排序: 冒泡排序,插 阅读全文
posted @ 2021-10-17 21:40 Zhbeii 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题目1 单链表是否为回文结构 方案一: 容器 (牺牲空间复杂度) 把这些元素从头开始放到栈中,结束以后依次弹出与第一个数相比较 方案二: 快慢指针 快指针一次走两步,慢指针一次走一步,当快指针为null时,我们找到了链表的尾部以及链表中间的位置 此时将中间位置的结点指向空,反转链表的右半部分,然后双 阅读全文
posted @ 2021-10-17 21:38 Zhbeii 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 基数排序(不是基于比较的排序):非负数的十进制数 时间复杂度为O(N),额外空间负载度O(M) 基本思想: 找出要排序的所有数字中的最大数,看他的位数,把其他没有达到位数的数字前面补零,然后准备0~9的10个桶(队列),先按照个位进行入桶,然后按顺序把他们倒出来,先进桶的先倒出,再按照十位,百位。。 阅读全文
posted @ 2021-10-15 16:42 Zhbeii 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 堆排序在是建立在完全二叉树上的排序模型,在计算机中使用数组实现。 背景知识: 完全二叉树:除最后一层节点外,其他层节点都必须要有两个子节点,并且最后一层节点都要左排列 大根堆:每个结点的值都大于或等于其左右孩子结点的值 ** 堆的存储** 我们默认使用数组的1位置为起始位置, 下标为 i的结点的父结 阅读全文
posted @ 2021-10-15 16:39 Zhbeii 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 通俗来说就是自定义比较 比较器的实质就是重载比较运算符(在C++中叫重载比较运算符) 比较器可以很好的应用在特殊标准的排序上 比较器可以很好的应用在根据特殊标准排序的结构上 基本使用: 对于任意比较器,首先指定两个对象,o1,o2, 返回值有统一的规范: 当返回负数时:认为o1应该排在o2的前面; 阅读全文
posted @ 2021-10-13 16:33 Zhbeii 阅读(268) 评论(0) 推荐(0) 编辑