数据结构与算法
文章平均质量分 55
算法学习,leetcode刷题
雪野Solye
写写代码,看看书,玩玩游戏。
展开
-
【二叉树】Morris遍历——不需要辅助空间的遍历方法
Morris 遍历是一种节省空间复杂度的方法。将叶子节点上的空指针利用起来,指向父节点,当再次遍历到这个节点的时候再修改回来,这样最后二叉树的结构也没有发生改变。转载 2022-02-22 16:49:11 · 218 阅读 · 0 评论 -
【队列】——PriorityQueue优先队列
优先队列不再遵循先入先出的原则:- 最大优先队列,不管入队顺序,当前最大的元素优先出队。- 最小优先队列,不管入队顺序,当前最小的元素优先出队。原创 2022-01-23 22:57:00 · 1225 阅读 · 3 评论 -
剑指Offer04:二维数组中的查找 C# 交错数组越界问题
在`int [][] martix={}`的情况下`matrix[0].length`会出现数组越界异常。因为如果数组`martix={}`,则不存在`matrix[0]`这样的情况,此时数组下标已经越界.只有满足`matrix.length=1`,才可以去判断 `matrix[0].length==0` (列数=0)所以在执行`matrix[0]`访问操作的前要确保数组存在且开辟了内存。原创 2021-12-29 00:04:04 · 845 阅读 · 0 评论 -
LeetCode:1. 两数之和
题目题解暴力枚举/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) { //保存长度,避免多次获取 len=nums.length; //遍历 for(let i = 0;i<len;i++){ //遍历当前元素后面的所有元素 for(let j = i+1;j原创 2021-05-16 16:59:07 · 82 阅读 · 0 评论 -
LeetCode:26.删除有序数组中的重复项
题目给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDupl原创 2021-04-22 13:16:56 · 69 阅读 · 0 评论