![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
PJZero
95后/ 在大厂后端六年;利用业余时间探索开源和副业;全干工程师; ♀️热爱跑步,有氧万岁;
新的博客地址: https://journeypeng.best;
SmartZoom: https://smartzoom.fun
展开
-
Python高级数据结构——堆
文章目录Python高级数据结构——堆概念接口函数初始化 Heapify弹出最大/最小值push数据heapreplaceMerge两个数组前n个最大/小的数应用堆排序参考Python高级数据结构——堆概念在一个 最小堆 (min heap) 中,如果 P 是 C 的一个父级节点,那么 P 的 key(或 value) 应小于或等于 C 的对应值。 正因为此,堆顶元素一定是最小的,我们会利用这个特点求最小值或者第 k 小的值。在一个 最大堆 (max heap) 中,P 的 key(或 value)原创 2022-05-30 19:50:41 · 886 阅读 · 0 评论 -
用python撸一个堆
from typing import Listclass Heap: arr = [] def __init__(self) -> None: self.arr = [] def __init__(self, arr: List[int]) -> None: self.arr = arr self._build(arr) def _build(self, arr: List[int]) -&原创 2021-06-14 13:55:08 · 111 阅读 · 0 评论 -
一个简单的HashMap
import java.util.ArrayList;public class CustomHashmap<K, V> { private final ArrayList<V> list; private final int initialCapacity; public CustomHashmap(int initialCapacity) { this.initialCapacity = initialCapacity;原创 2021-06-13 11:44:00 · 115 阅读 · 0 评论 -
【算法题】输入一串数字,判断有多少种字母组合方式
标题题目示例样例1样例2思路解法递归动态规划题目输入一个十进制的数组,假设数字分别对应一个英文字母,求问一串十进制数字一共有多少分割方式能输出不同的英文字母串。输入为一个数组,数组内的每个元素都在[1, 9]之间输出为一个数字,表示输出的可能。示例样例1输入:[1, 2]输出:2可能产生的串: 1 | 2 => a, b 12 => l样例2输入:[1, 1...原创 2019-11-14 21:37:50 · 910 阅读 · 0 评论 -
产生不重复随机数-with python
这个问题算是一个简单的算法题吧,简单的不能再简单了。今天强迫症似的想要把它实现主要是想担心以后面试的时候面试官问。万一由像上次一样半天憋不出来,憋出来还是个错的或者是压根没办法认真跑的,就非常的迷了~这里给出算法的两种参数设置的实现,第一种是在[0, m)中,第二种是可以设定两个参数,范围任选。从[0, m)中产生n个随机数 要求:m, n 为正整数,m >= n算法实现如下,具体的思想可以参原创 2017-05-01 18:09:48 · 8599 阅读 · 2 评论 -
[stl源码] 链表的逆
实现过程如下/* by pjzero */template<typename iter>void pj_reverse(iter iter_beg, iter iter_end){ if(iter_beg == iter_end) return; --iter_end; while (iter_beg < iter_end) { swap(原创 2016-12-16 23:34:24 · 355 阅读 · 0 评论 -
C++_将图二维矩阵形式转为邻接表结构
用二维矩阵表示图的结构我们用c++中的vector容器来表示二维矩阵, #include<vector> using std::vector vector<vector<int>> Array;关于vector的基本操作可以参考这篇文章, http://www.cnblogs.com/wei-li/archive/2012/06/08/2541576.html定义邻接表中链表节点和数据原创 2016-03-01 22:55:11 · 1525 阅读 · 0 评论 -
【算法】【python】leetcode 3 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的 最长子串 的长度。示例: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请注意答案必须是一个子串,”pwke” 是 子序列 而不是子串。感觉描述出来比较困难,画图是比较合适的,但是无...原创 2018-03-26 23:12:03 · 1657 阅读 · 0 评论 -
leetcode 32 最长有效括号 O(N)时间解法
题目:给一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的有效(正确关闭)括号子串的长度。对于 “(()”,最长有效括号子串为 “()” ,它的长度是 2。另一个例子 “)()())”,最长有效括号子串为 “()()”,它的长度是 4。链接: https://leetcode-cn.com/problems/longest-valid-parentheses/descriptio...原创 2018-03-29 08:59:42 · 2277 阅读 · 0 评论