随笔分类 -  刷题

OnlineJudge
摘要:一、快排基础 1.1 快排的流程 将数组A进行快速排序的基本步骤-quick_sort(A): 递归基础情况:如果A中的元素个数是1或0,则返回。 选取主元:取A中的任意一个元素v,作为主元(pivot)。 交换策略:将A-{v}即A中剩余元素,划分成两个不相交的集合(多重集)A1和A2, 递归处理 阅读全文
posted @ 2023-02-08 20:19 LeonYi 阅读(285) 评论(0) 推荐(0)
摘要:手撕版 最大堆的完全实现, 堆中元素为二元组(num, idx),比较时用数值,赋值或交换时用整个元组。 class Heap: def __init__(self, arr, capacity): # 容量和大小 self.size = len(arr) self.arr = [None] * c 阅读全文
posted @ 2023-02-06 21:35 LeonYi 阅读(147) 评论(0) 推荐(0)
摘要:一、题目 给你一个二叉树的根节点 root。设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。 请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中 最小 的那个。 示例 1: 输入:root = [1,7,0,7,-8,null,null] 输出:2 解释: 第 1 阅读全文
posted @ 2022-07-31 12:08 LeonYi 阅读(46) 评论(0) 推荐(0)
摘要:一、题目 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。 可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 阅读全文
posted @ 2022-07-08 08:31 LeonYi 阅读(70) 评论(0) 推荐(0)
摘要:一、题目 英语中有一个叫做词根(root)的概念,我们可在词根后面添加其他一些词,组成另一个较长的单词——即继承词(successor)。例如,词根an跟随着单词other,可以形成新的单词another。 现给定一个由许多词根组成的词典dictionary和一个用空格分隔单词形成的句子senten 阅读全文
posted @ 2022-07-07 15:02 LeonYi 阅读(99) 评论(0) 推荐(0)
摘要:一、题目 Trie树(前缀树)是一种树形数据结构(多叉树),它可用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 请你实现 Trie 类: Trie() 初始化前缀树对象。 void insert(String word) 向前缀树中插入字符串 wor 阅读全文
posted @ 2022-07-07 12:20 LeonYi 阅读(81) 评论(0) 推荐(0)
摘要:一、题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量(不能倾斜容器)。 示例 1: 输入:[1,8,6, 阅读全文
posted @ 2022-07-06 14:40 LeonYi 阅读(47) 评论(0) 推荐(0)
摘要:Leetcode不同路径系列题解笔记 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 两种解法:1. 简单的 阅读全文
posted @ 2021-08-10 11:14 LeonYi 阅读(120) 评论(0) 推荐(0)
摘要:算法题 24点 阅读全文
posted @ 2021-07-12 15:12 LeonYi 阅读(192) 评论(0) 推荐(0)
摘要:Leetcode之两数之和 阅读全文
posted @ 2020-09-24 00:21 LeonYi 阅读(238) 评论(0) 推荐(0)
摘要:一、问题定义 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如下: 剪刀 > 布, 锤子 > 剪刀, 布 > 锤子 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第 1 行给出正整数 N(≤),即双方交锋的次数。随后 N 行 阅读全文
posted @ 2020-07-23 21:38 LeonYi 阅读(300) 评论(0) 推荐(0)
摘要:一、问题定义 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值: Z 阅读全文
posted @ 2020-06-26 15:03 LeonYi 阅读(297) 评论(0) 推荐(0)
摘要:一、问题定义 正整数 a的“Da(为 1 位整数)部分”定义为由a中所有Da组成的新整数Pa​。例如:给定8,Da = 6,则a的“6 部分”Pa是66,因为a中有 2个6。现给定a、Da、b、Db,请编写程序计算 Pa + Pb。 输入格式:输入在一行中依次给出 a、Da​​、b、Db​​,中间以 阅读全文
posted @ 2020-06-26 14:40 LeonYi 阅读(217) 评论(0) 推荐(0)
摘要:一、问题定义 2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址, 而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入 阅读全文
posted @ 2020-06-25 23:19 LeonYi 阅读(600) 评论(0) 推荐(0)
摘要:一、 问题定义 给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。 例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 阅读全文
posted @ 2019-10-23 22:40 LeonYi 阅读(415) 评论(0) 推荐(0)
摘要:一、问题描述 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写 阅读全文
posted @ 2019-10-16 17:47 LeonYi 阅读(233) 评论(0) 推荐(0)
摘要:一、问题描述 令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。 输出格式:输入在一行中给出 M 和 N,其间以空格分隔。 输出格式:输出从 P​M​​ 到 P​N​​ 的所有素数,每 10 个数字占 1 行,其间以空格分隔, 阅读全文
posted @ 2019-10-16 17:40 LeonYi 阅读(203) 评论(0) 推荐(0)
摘要:将一系列数字进行处理,然后输出对应结果 阅读全文
posted @ 2019-04-18 23:02 LeonYi 阅读(209) 评论(0) 推荐(0)
摘要:一元多项式求导,输入系数和指数的绝对值为1000以内的整数 阅读全文
posted @ 2019-04-17 15:59 LeonYi 阅读(443) 评论(0) 推荐(0)
摘要:将字符串中的单词逆序输出 阅读全文
posted @ 2019-04-11 23:12 LeonYi 阅读(428) 评论(0) 推荐(0)