LeetCode与基础编程
目前处于刚开始刷题阶段,会记录自己并所学内容,方便后续回顾。
hiuiwb
这个作者很懒,什么都没留下…
展开
-
LeetCode: 1396.设计地铁系统 Python实现(仅利用嵌套的数据结构)
解题思路本方法主要使用了字典嵌套列表以及元组的数据结构注意:字典的key值不能为list类型,原因为 TypeError: unhashable type: ‘list’StoE字典结构如下:{(startStation,endStation):[time_total, times]}time_total: 所有人从相同的始发站到终点站花费的时间总和times: 从相同的始发站到终点站出行的人数总和start字典结构如下:{id:[stationName, t]}额外操作:一个人可以多次乘原创 2022-04-25 01:03:05 · 1479 阅读 · 0 评论 -
LeetCode-535-Encode_and_Decode_TinyURL
解题思路:利用python字典进行longUrl与shortUrl关系映射。利用random.choices()生成shortUrl code。import random# Python Dictionary# random.choicesclass Codec: def __init__(self): self.l_s = {} self.s_l = {} # self.char_pool = "abcdefghijklmnopqrst原创 2022-04-23 17:25:26 · 872 阅读 · 0 评论 -
python中矩阵的基本运算学习记录
矩阵运算:NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))import numpy as npfrom numpy.linalg import * // 矩阵运算行列式:a=np.mat([[...原创 2018-11-11 15:46:02 · 508 阅读 · 0 评论 -
数据结构 单链表 C语言实现
单链表单链表顺序存储线性表分配方式分散存储集中存储时间性能查找O(n) 插入删除O(1)查找O(1) 插入删除O(n)空间性能无需分配空间,元素可以无限扩充分配空间,元素个数有限c语言代码实现(单链表)//// main.c// 线性表链式存储结构//// Created by Kinble Wu on 2020/3/2./...原创 2020-03-05 12:57:13 · 893 阅读 · 0 评论 -
线性表 顺序结构 C语言实现
本文是关于线性表的介绍以及c代码实现(全文仅供参考)线性表:定义:有相同属性的数据元素的一个有限序列结构类型:顺序、链式(单链表,双链表)、索引、散列顺序存储结构:把线性表中所有元素按照逻辑顺序依次存储到计算机存储器的指定位置开始的一块连续的存储空间线性表顺序存储结构,存储时元素与下标间的关系:a1a2a3a4…an…a(Maxsize)01...原创 2020-03-02 18:23:37 · 449 阅读 · 0 评论 -
算法图解-Python(第八章:贪婪算法)
题目:假设你办了个广播节目,要让全美50个州的听众都收听得到。为此,你需要决定在哪些广播台播出。在每个广播台播出都需要支付费用,因此你力图在尽可能少的广播台播出。现有广播台名单如下。每个广播台都覆盖特定的区域,不同广播台的覆盖区域可能重叠。如何找出覆盖全美50个州的最小广播台集合呢?贪婪算法解题方法如下(Python):# 贪婪算法'''假如你办了个广播节目,要让全美50个州的听众都收听的到。为此,你需要决定在哪些广播台播出。在每个广播台播出都需要支付费用,因此你力图在尽可能少的广播台播出。原创 2021-06-03 22:08:37 · 2282 阅读 · 1 评论 -
LeetCode:21. 合并两个有序链表(递归,Python实现)
题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]利用了递归的思想:首先将两个链表传入,之后开始按照元素顺序进行对比,返回较小值后继续进行递归直到其中的某一个链表为空时结束。# Definition for singly-linked list.class ListNode: def __init__(self, val=0, next=Non原创 2021-05-31 20:11:35 · 250 阅读 · 0 评论 -
LeetCode:1. 两数之和(哈希表)
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题解:# 两数之和:求解过程使用哈希表(散列表),即python中的字典。from typing import Listclass Solution: def twoSum(self, nums: List[int], targe原创 2021-05-24 19:49:03 · 118 阅读 · 0 评论 -
LeetCode:136. 只出现一次的数字(哈希表)
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。普通解法:# 只出现一次的数字from typing import Listclass Solution: def singleNumber(self, nums: List[int]) -> int: record_dict = {} for i, item in enumerate(nums): if item in原创 2021-05-24 19:45:08 · 271 阅读 · 0 评论