Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
结构体排序问题
题目如下 刚刚看到这道题的时候一点点思路都没有 连题目都没读懂 include
算法leetcode
算法
数据结构
c
通过哲学家进餐问题学习线程间协作(代码实现以leetcode1226为例)
哲学家进餐问题 代码实现以leetcode1226为例 问题场景 解决思路 解决死锁问题 代码实现 c go 代码实现以leetcode1226为例 提到多线程和锁解决问题 就想到了os中哲学家进餐问题 问题场景 回想该问题产生场景 五个哲
算法leetcode
cc开发
os
go
c
leetcode排序算法总结—时间复杂度o(nlogn)-希尔/堆排/快排/归并小记
排序算法总结 时间复杂度O nlogn 希尔 堆排序 快排 归并 希尔排序 有一段间隔的排序 可以逐个子表进行排序 然 例如王道 都给出便于计算机进行连续访问的程序算法 即依次按元素比较不同子表进行子表的调整 时间复杂度O n 1 3 最坏
算法leetcode
LeetCode
c语言
数据结构
leetcode236—二叉树的最近公共祖先(递归/深搜/理解)
给定一个二叉树 找到该树中两个指定节点的最近公共祖先 百度百科中 最近公共祖先的定义为 对于有根树 T 的两个节点 p q 最近公共祖先表示为一个节点 x 满足 x 是 p q 的祖先且 x 的深度尽可能大 一个节点也可以是它自己的祖先 深
算法leetcode
LeetCode二维数组例题(原地旋转和对角线遍历)-c语言
二维数组例题 二维数组 矩阵旋转 原地旋转 对角线遍历 二维数组 矩阵旋转 原地旋转 方法一 四个角是一个循环 引申到四个块是循环 n为偶数时 枚举n2 4个位置 n为奇数时 枚举 n2 1 4个位置 void rotate int mat
算法leetcode
LeetCode
c语言
算法
贼全面的计算机考研数据结构算法题集合(408+自命题均可)
文章目录 Code 数组 合并排序的数组 约瑟夫环问题 高效解法 栈 栈实现队列 最小栈 逆波兰表达式求值 队列 设计循环队列 链表 删除链表节点 删除链表中间节点 删除链表的倒数第n个节点 删除链表中的重复元素 相交链表 链表中环的入口点
算法leetcode
数据结构
算法
链表
【刷题版】掌握算法的一揽子计划——动态规划总结
动态规划是一种通过将原问题分解为相对简单的子问题来求解 然后将子问题的解存储起来避免之后重复计算 并最终将子问题组合成原问题的解决方法 动态规划并不算是一种具体的算法 更应该被认为是一种解决问题的思想 动态规划通常适用于具有重叠子问题和最优
算法leetcode
算法
动态规划
c
LeetCode
leetcode剑指offer11—旋转数组的最小值(二分/边界值)
把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 给你一个可能存在 重复 元素值的数组 numbers 它原来是一个升序排列的数组 并按上述情形进行了一次旋转 请返回旋转数组的最小元素 例如 数组 3 4 5 1 2 为 1
算法leetcode
LeetCode
算法
数据结构
剑指 Offer 28. 对称的二叉树(递归/并且或者要考虑好)
orz 没有思路 有了思路还是错的 递归 可以仿照归并排序 我这么觉得 两边判断 如果不是当我没说 递归停止的条件是什么 结束条件 左节点和右节点都为空 gt 倒底了都长得一样 gt true 左节点为空的时候右节点不为空 或反之 gt 长
算法leetcode
算法
数据结构
Leetcode53/152—最大子数组和/最大子数组乘积(状态转移方程/不熟)
53 最大子数组和 给你一个整数数组 nums 请你找出一个具有最大和的连续子数组 子数组最少包含一个元素 返回其最大和 子数组 是数组中的一个连续部分 思路 aaaaa 我老不会这个题 动态规划的是首先对数组进行遍历 当前最大连续子序列和
算法leetcode
LeetCode1477-找两个和为目标值且不重叠的子数组
给你一个整数数组 arr 和一个整数值 target 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 可能会有多种方案 请你返回满足要求的两个子数组长度和的 最小值 请返回满足要求的最小长度和 如果无法找到这样的
算法leetcode
动态规划
算法
数据结构
leetcode160–相交链表(最优解/双指针)
今天做的三道题比较简单 给你两个单链表的头节点 headA 和 headB 请你找出并返回两个单链表相交的起始节点 如果两个链表不存在相交节点 返回 null 题目数据 保证 整个链式结构中不存在环 注意 函数返回结果后 链表必须 保持其原
算法leetcode
LeetCode动态规划—跳跃游戏从跳到头到跳最少下跳到头(45、55)
跳跃游戏 跳跃游戏 跳跃游戏 跳跃游戏 一个下标对应的值为3 那证明这个位置可以跳到前后3个位置的下标处 3均可达 如果依次遍历完这个数组 有下标在跳跃过程中最远位置仍然不可达 即证明无法到达最后一个位置 可以对每一个能作为 起跳点 的格子
算法leetcode
LeetCode
动态规划
游戏
leetcode905–按奇偶排序数组(经典/原地排序)
经典题目 给定一个非负整数数组 A 返回一个数组 在该数组中 A 的所有偶数元素之后跟着所有奇数元素 你可以返回满足此条件的任何数组作为答案 主要要掌握最优解 这道题很简单 类快排 你不是真正的快排 Note The returned ar
算法leetcode
【刷题版】掌握算法的一揽子计划——深度优先搜索和回溯
文章目录 深搜和回溯总结 基本概念 常见例题 自然数的拆分 排列型枚举 全排列 I 全排列 II 组合型枚举 组合 I 组合 II N皇后问题 一些简单的树和图上的问题 二叉树的遍历 二叉树的所有路径 岛屿的最大面积 参考资料 深搜和回溯总
算法leetcode
算法
深度优先
回溯
数据结构
leetcode99-恢复二叉搜索树(两个空间复杂度的解法)
恢复二叉搜索树 题目 给你二叉搜索树的根节点 root 该树中的 恰好 两个节点的值被错误地交换 请在不改变其结构的情况下 恢复这棵树 示例 思路 嘶 递归递了加一起得两个点 笔试的题是 交换了若干个相邻结点的 恢复成一颗二叉搜索树 估计就
算法leetcode
深度优先
数据结构
算法
leetcode150–逆波兰表达式求值(栈/后缀表达式)
根据 逆波兰表示法 求表达式的值 有效的算符包括 每个运算对象可以是整数 也可以是另一个逆波兰表达式 说明 整数除法只保留整数部分 给定逆波兰表达式总是有效的 换句话说 表达式总会得出有效数值且不存在除数为 0 的情况 示例 输入 toke
算法leetcode
排序算法总结—时间复杂度O(n)—基数排序/计数排序小记
排序算法总结 时间复杂度O n 基数排序 基数排序 分为最高位优先和最低位优先的算法 找到最大值max 求出max的位数 在max位数max length进行循环max length趟 对于每一位进行排序 对于一个数字要会从低位一位一位取值
算法leetcode
LeetCode
c语言
数据结构
leetcode线程题1116——打印零与奇偶数
直接考虑信号量解决问题 输出完奇数偶数 释放输出0所需的信号量 对于本题没有想到的地方是调用过程 原代码编写的没有自己加入for循环 以为三个线程会不停被调用 一直不过 只输出 01 就结束了 根本没有循环起来 include
算法leetcode
LeetCode
算法
c
线程
排序算法总结—时间复杂度O(n^2)—冒泡/插入/选择小记
排序算法总结 时间复杂度O n 2 冒泡 插入 选择小记 冒泡排序 最基础的排序 一层一层将最大值或最小值放到该去的位置 适用于顺序存储和链表存储 时间复杂度 O n 2 空间复杂度 O 1 稳定的排序算法 产生的有序子序列全局有序 每次有
算法leetcode
LeetCode
c语言
数据结构