![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
转角遇高数
自然语言处理初学者
展开
-
环形链表
环形链表class Solution: def hasCycle(self, head: ListNode) -> bool: fast,slow=head,head while fast and fast.next: #以快指针为循环结束条件,则比较方便 fast=fast.next.next slow=slow.next if fast==slow: r原创 2021-03-09 22:37:28 · 71 阅读 · 0 评论 -
python小技巧
a,b都是整数,则求a/b向下取整: a//b求a/b向上取整:(a-1)//b+1…原创 2021-03-09 21:46:47 · 98 阅读 · 0 评论 -
品味二分查找
二分查找细节很多啊!!!一、寻找一个数(基本的二分搜索)int binarySearch(int[] nums, int target) { int left = 0; int right = nums.length - 1; // 注意 双闭区间 while(left <= right) { //[left,right]区间内元素为空时返回.比如[3,2]时,返回 int mid = left + (right - left) / 2; //防止溢出原创 2021-03-09 21:28:29 · 76 阅读 · 0 评论 -
146. LRU 缓存机制
146. LRU 缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时,它原创 2021-03-07 12:50:15 · 76 阅读 · 0 评论 -
完全二叉树的节点个数
完全二叉树的节点个数给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h2^h2h个节点。思路完全二叉树的左右子树必有一个满二叉树。对该满二叉子树,只需计算高度即可...原创 2021-03-03 20:21:05 · 366 阅读 · 1 评论 -
二叉树的最近公共祖先
二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”思路:1.寻找一个深度尽可能大的节点,优先考虑后序遍历2.后序遍历寻找到的第一个满足以下条件的节点,即为最近公共祖先:(左子树,右子树各包含一个p或q)或者(该公共祖先即为其中一个,其左右子树包含另一个)...原创 2021-03-03 18:18:31 · 88 阅读 · 1 评论 -
Python的传值和传值
变量a传入函数f之后,函数内部对a进行的操作会不会影响到函数外部的a?code.1def f(a): a[1]=99a=[1,2,3]f(a)print(a) #[1, 99, 3] 有影响code.2def f(a): a=[1]a=[1,2,3]f(a)print(a) #[1, 2, 3] 无影响code.3class A: def __init__(self,v): self.v=vdef f(a:A): a.v=1原创 2021-02-26 16:36:50 · 182 阅读 · 1 评论 -
验证二叉搜索树
验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树思路:1.中序遍历为升序 是 搜索树合法 的 充分必要条件2.递归确定每一个结点是否在规定的区间...原创 2021-02-26 12:50:26 · 67 阅读 · 0 评论 -
算法随笔
寻找重复的子树给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。重点:如何使用一个字符串表示一棵树。“,”.join(数的先序遍历列表,空的叶子节点用#表示)...原创 2021-02-25 21:08:36 · 56 阅读 · 0 评论 -
DP表
动态规划-DP表题目思路题目最佳买卖股票时机含冷冻期给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]思路DP表问题首先分清“状原创 2021-02-22 16:06:31 · 1212 阅读 · 0 评论 -
2021-01-06
合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]思路:双指针,.原创 2021-01-06 15:53:28 · 49 阅读 · 0 评论