自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(407)
  • 资源 (30)
  • 收藏
  • 关注

原创 位运算的概念

根据上述例子可知,同一个非负数的原码、反码和补码的表示方法相同,同一个负数的原码、反码和补码的表示方法不同。其中,原码是人脑最容易理解和计算的表示方法,相比之下,反码和补码的表示方法不直观,通常需要转换成原码才能计算其数值。由于使用除号计算整数除法的结果向零取整,而使用算术右移计算整数除法的结果向下取整,因此当被除数是非负数时两者的结果相同,当被除数是负数时两者的结果不同。计算机中的数据类型包括有符号类型和无符号类型,这两种类型表示的整数分别称为有符号整数和无符号整数。机器数是有符号数,最高位是符号位,

2025-02-03 18:00:00 1437

原创 数据结构和算法文章目录

文章目录算法 + 数据结构 = 程序数据结构概述常用数据结构高级数据结构算法概述数学算法 + 数据结构 = 程序Pascal 之父尼古拉斯·沃斯(Nicklaus Wirth)凭借一句话获得了图灵奖,让他获得图灵奖的是他提出的著名公式:算法 + 数据结构 = 程序。数据结构和算法是程序中的两个不同的概念,又有所联系。数据结构是数据的表示形式,算法是解决问题的流程,算法在程序中的体现是函数或方法。算法中经常用到数据结构,因此数据结构和算法之间存在密切的联系。数据结构概述数据结构虽然有多种类型,但是大

2021-06-08 19:03:27 220

原创 位运算题目:连接连续二进制数字

的二进制表示连接得到一个二进制数,返回连接得到的二进制数对应的十进制数对。的二进制表示的连接结果可能很长,因此需要在遍历连接结果的过程中计算结果。的每个整数的二进制表示的位数,即可得到连接的结果对应的整数。表示当前整数的二进制表示的位数,初始时。的二进制表示的连接结果对应的整数。个整数,每个整数的操作时间都是。的时间内判断一个整数是不是。的连接结果对应的整数是将。的连接结果对应的整数是。的二进制表示的位数比。的二进制表示的位数多。的二进制表示的位数是。的每个整数,对于整数。的二进制表示的位数。

2025-04-14 18:00:00 584

原创 位运算题目:形成两个异或相等数组的三元组数目

的所有子数组,对于每个子数组计算子数组中的所有元素的按位异或运算结果。的时间计算子数组中的所有元素的按位异或运算结果,因此时间复杂度是。使用该方法,计算一个子数组中的所有元素的按位异或运算结果的时间是。,对于每个子数组计算子数组中的所有元素的按位异或运算结果的时间是。的子数组中的所有元素的按位异或运算结果等于。中的所有元素的按位异或运算结果,因此。,则该子数组中符合要求的三元组的数目是。中的所有元素的按位异或运算结果等于。中的所有元素的按位异或运算结果,中的所有元素的按位异或运算结果。

2025-04-10 18:00:00 801

原创 位运算题目:N 天后的牢房

天的牢房状态,需要使用两个哈希表分别记录每个牢房状态首次出现的天数以及每天对应的牢房状态。由于题目给定的牢房状态是数组的形式,数组不适合存入哈希表,因此需要使用位运算将数组表示的牢房状态转换成整数表示的牢房状态,整数为。从牢房的初始状态开始模拟,计算每天的牢房状态并将状态和天数分别存入两个哈希表,当遇到结束条件时,结束模拟并计算第。由于不同的状态数非常有限,因此在牢房状态的变化过程中一定会出现与之前重复的状态,即出现循环。天的牢房状态,将当前的牢房状态转成数组的形式返回。

2025-04-07 18:00:00 638

原创 位运算题目:数字范围按位与

的二进制表示中除了最高位以外的每一位,将相等的位加到公共前缀中,遍历结束或者遇到不相等的位时结束遍历,遍历结束之后即可得到按位与运算的结果。的二进制表示的连续最高位的相同部分,称为公共前缀。,因此遍历区间中的所有整数的时间复杂度过高,需要考虑时间复杂度更低的做法。的二进制表示的最长公共前缀。的二进制表示的最长公共前缀,该最长公共前缀后面的位都用。位到最高位,则两个数的按位与运算的结果的第。中的所有整数的按位与运算的结果等价于计算。位的值不同,因此按位与运算的结果的第。中的所有整数按位与运算的结果的第。

2025-04-03 18:00:00 589

原创 位运算题目:汉明距离总和

的个数并计算该位对汉明距离总和的贡献。所有位对汉明距离总和的贡献之和即为汉明距离总和。计算所有元素对之间的汉明距离总和,最直观的做法是遍历所有的元素对并计算汉明距离。只要考虑二进制表示的每一位对汉明距离总和的贡献,即可得到汉明距离总和。根据上述分析,计算汉明距离总和的做法如下:依次遍历二进制表示的每一位,共。两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。的时间计算该位对汉明距离总和的贡献,因此时间复杂度是。个,因此该位对汉明距离总和的贡献是。中任意两个数之间的汉明距离的总和。

2025-03-31 18:00:00 728

原创 位运算题目:UTF-8 编码验证

中的每个元素,判断是否符合 UTF-8 编码的规则。每个 UTF-8 编码字符的字节数由该字符的第一个字节决定,根据第一个字节即可知道该字符的字节数。对于遍历到的每个字符,判断是否符合 UTF-8 编码的规则。才可能是有效的 UTF-8 编码,如果该下标范围中存在一个元素的二进制表示的最高两位不是。是否为有效的 UTF-8 编码,需要遍历数组,判断是否符合 UTF-8 编码的规则。中的所有字符都符合 UTF-8 编码的规则,返回。,则判断当前字符是否符合 UTF-8 编码的规则。注意:输入是整数数组。

2025-03-27 18:00:00 962

原创 位运算题目:最大单词长度乘积

得到每个单词的二进制表示之后,判断两个单词是否含有公共字母时,可以计算这两个单词对应的二进制表示的按位与运算结果。中的每一对单词,判断两个单词是否含有公共字母,如果没有公共字母则计算这两个单词长度的乘积。的时间,如果通过遍历两个单词判断两个单词是否含有公共字母,则时间复杂度高于。时,才需要计算这两个单词长度的乘积,并更新最大单词长度乘积。的时间内判断两个单词是否含有公共字母,则时间复杂度是。则表示该位对应的字母在单词中出现,如果一个二进制位是。,则这两个单词含有公共字母,按位与运算结果中不是。

2025-03-24 18:00:00 672

原创 位运算题目:或运算的最小翻转次数

时间复杂度主要取决于需要遍历的二进制表示的位数,需要遍历的二进制表示的位数取决于。,只要将其中一个值翻转即可使当前位满足按位或运算规则,因此当前位的翻转次数是。时,其余位一定满足按位或运算规则,因此结束遍历,此时即可得到使。翻转才能使当前位满足按位或运算规则,因此当前位的翻转次数是。,则当前位不满足按位或运算规则,当前位的翻转次数计算如下。成立的最小翻转次数,如果翻转次数更少,则一定无法使。的二进制表示进行位翻转操作,返回能够使按位或运算。位翻转操作是指将一个数的二进制表示的任何一个位上的。

2025-03-20 18:00:00 1034

原创 位运算题目:两整数之和

在不允许使用加号和减号的情况下计算两整数之和,必须使用其他运算符。考虑整数的二进制表示,使用位运算实现计算两整数之和。两整数之和的进位部分等于两整数按位与运算左移一位的结果,两整数之和的非进位部分等于两整数按位异或运算的结果。的值之后,进位后的结果都会左移,因此递归调用的层数不会超过二进制表示的位数,即。为负数时,由于负数使用补码表示,因此上述做法也可以得到正确的结果。为非负数时,上述做法可以得到正确的结果。,因此操作次数由二进制表示的位数决定。​​​​​,返回两整数之和。的二进制表示的相同位都是。

2025-03-17 18:00:00 728

原创 位运算题目:数字转换为十六进制数

是零或正数时,上述转换方法得到的十六进制数可能有前导零。为了避免前导零,应该从第一个不是零的值开始拼接十六进制数。转换成十六进制,需要使用位运算的做法。由于一位十六进制数对应四位二进制数,因此从高到低遍历。答案中的所有字母都应该是小写,除了零本身以外,答案中不应该有前导零。的二进制表示,每次遍历四位二进制数并将其转成十六进制表示。,返回其十六进制表示的字符串。,如果十六进制数不为空则返回十六进制数。,都需要遍历其十六进制表示的全部数位。是整数的十六进制数的位数,对于。是整数的十六进制数的位数,对于。

2025-03-13 18:00:00 902

原创 位运算题目:数字的补数

一个整数的补数是将该整数的二进制表示中的所有。的二进制表示的最前面添加一个。(没有前导零位),其补数为。(没有前导零位),其补数为。位二进制数(不含前导零),,因此在上述计算过程中,,不会出现溢出的情况。

2025-03-10 18:00:00 670

原创 位运算题目:二进制间距

的除了前导零以外的所有位。之间的距离是它们的二进制表示中位置的绝对差。的二进制表示的最低位的位编号可以通过上述做法得到。的二进制表示的最低位,并得到最低位的位编号。的二进制表示的从低到高的每一位依次记为第。时,遍历结束,此时可以得到最长距离。时,遍历结束,此时可以得到最长距离。的二进制表示的每一位,计算每对相邻的。的二进制表示中没有相邻的两个。答案取两个距离之中的最大距离。的位置,因此只需要遍历每个。根据位运算的性质可得,正整数。之间的距离,得到最长距离。右移一位,则每次可以得到。的二进制表示的最低位是。

2025-03-06 18:00:00 655

原创 位运算题目:二进制手表

表示当前打开的 LED 的数量(忽略 PM),返回二进制手表可以表示的所有可能时间。种,因此可以枚举所有的时间,对于每个时间计算打开的 LED 的数量,如果等于。取何值,都不可能得到符合要求的时间,此时可以跳过当前的。组成的时间即为符合要求的时间,将其添加到结果中。每个 LED 代表一个零或一,最低位在右侧。的个数之和,即为打开的 LED 的数量。小时不能有前导零,除了小时等于零的情况。的个数都是非负数,因此如果。种不同的时间,与输入无关。,所有可能的不同时间是。由于时间的小时范围是。

2025-03-03 18:00:00 697

原创 位运算题目:颠倒二进制位

这道题要求将给定的整数nnn的二进制位颠倒。部分编程语言有自带的方法或函数可以实现该功能,例如 Java 的。面试的时候,面试官不会允许直接调用编程语言自带的方法或函数得到颠倒二进制位之后的结果,而是期望看到面试者使用位运算实现该功能。

2025-02-27 18:00:00 621

原创 位运算题目:汉明距离

计算两个整数的汉明距离,最直观的做法是同时遍历两个整数的二进制表示的每一位,计算不同的位数。利用按位异或的性质,xxx和yyy的汉明距离等于x⊕yx \oplus yx⊕y的二进制表示中的111的个数,因此可以使用「位 1 的个数」的解法计算x⊕yx \oplus yx⊕y的二进制表示中的111的个数。

2025-02-24 18:00:00 581

原创 位运算题目:比特位计数

这道题是「位 1 的个数」的延伸。给定非负整数nnn,要求返回从000到nnn的每个整数的二进制表示中的111的个数。为方便表述,以下用「比特一的个数」表示二进制表示中的111的个数。这道题可以使用「位 1 的个数」的解法计算每个整数的比特一的个数,也可以使用不同整数的比特一的个数之间的关系递推计算。

2025-02-20 18:00:00 825

原创 位运算题目:位 1 的个数

这道题要求返回给定的整数nnn的二进制表示中的111的个数。部分编程语言有自带的方法或函数可以实现该功能,例如 Java 的。面试的时候,面试官不会允许直接调用编程语言自带的方法或函数得到给定整数的二进制表示中的111的个数,而是期望看到面试者使用位运算实现该功能。

2025-02-17 18:00:00 664

原创 位运算题目:交替位二进制数

的二进制表示的每一位,并与前一位比较值是否相同。如果存在两个相邻的二进制位的值相同,则不是交替位二进制数,返回。给定一个正整数,检查它的二进制表示是否是交替出现的,即是否满足二进制表示中相邻两位的数字都不相同。如果任意两个相邻的二进制位的值都不相同,则是交替位二进制数,返回。的二进制表示中的相邻两位的按位异或的结果。除了前导零以外的位中存在两个相等的值的异或结果,因此。除了前导零以外的每一位都是。除了前导零以外的每一位都是。除了前导零以外的每一位都是。除了前导零以外的每一位都是。除了前导零以外的位中存在。

2025-02-13 18:00:00 1324

原创 位运算题目:解码异或后的数组

利用按位异或的性质可以得到。注意返回值不计入空间复杂度。可以证明答案存在并且唯一。的值,即可得到原数组。标题:解码异或后的数组。,且原数组的结果唯一。

2025-02-10 07:00:00 1013

原创 位运算题目:数组异或操作

中的所有元素按位异或的结果(以下简称「数组按位异或结果」)可以通过如下方式计算:将数组。都是奇数时,按位异或的结果才是奇数,否则按位异或的结果是偶数。根据按位异或的性质,对于二进制表示中的特定位,如果该位出现奇数个。中的所有偶数的按位异或结果(当。中的所有偶数的按位异或结果,用。中的所有偶数的按位异或结果,则。中的所有偶数的按位异或结果是。中的所有偶数的按位异或结果是。中的所有偶数的按位异或结果是。中的所有偶数的按位异或结果是。中的所有偶数的按位异或结果是。中的所有偶数的按位异或结果是。

2025-02-06 18:00:00 638

原创 二分查找题目:山脉数组中查找目标值

根据山脉数组的定义,山脉数组中存在唯一的最大值,该最大值为峰顶元素,峰顶元素所在下标为峰顶下标,峰顶左侧和右侧为两个非空子数组。峰顶左侧的子数组为严格单调递增的数组,峰顶右侧的子数组为严格单调递减的数组,因此峰顶同一侧的子数组中的元素各不相同。如果一个元素在山脉数组中出现且该元素不是峰顶元素,则该元素最多在山脉数组中出现两次,即在峰顶左侧的子数组和峰顶右侧的子数组中最多各出现一次。如果峰顶元素等于目标值,则由于峰顶元素在山脉数组中只出现一次,因此峰顶下标即为元素值等于目标值的最小下标,返回峰顶下标。

2025-01-30 18:00:00 629 1

原创 2025 春节联欢晚会魔术揭秘

严格说,杯子在最右边的魔术不是传统意义上的魔术,而是一个可以全民参与的数学问题。交换操作似乎像冒泡排序,其实并不是冒泡排序。冒泡排序是一种比较类排序,即通过比较元素大小决定元素之间的相对顺序的排序方法。冒泡排序的原理是多次遍历序列,每次比较相邻的两个元素,如果顺序错误则交换。排序过程中,大的元素会移动到序列的末尾,如同水中的气泡上浮到顶端,故名冒泡排序。魔术中的操作只是将特定物品和左边或右边的相邻物品互相交换物品,物品之间不存在大小关系,也不能推广到更多物品的场景,因此魔术的原理并非冒泡排序。

2025-01-29 10:54:19 991

原创 二分查找题目:寻找两个正序数组的中位数

将两个数组的左边部分统称为前半部分,将两个数组的右边部分统称为后半部分,则前半部分的最大值小于等于后半部分的最小值,前半部分的元素个数为两个数组的长度之和的一半向上取整。的值减去排除的元素个数,并将排除元素的数组的相应下标更新为该数组首个剩余元素的下标,具体做法如下:如果排除的是。中的最小值是后半部分的最小值。两个数组的左边部分的长度之和为两个数组的长度之和的一半向上取整,是偶数时,中位数是前半部分的最大值与后半部分的最小值的平均数。两个数组的左边部分的最大值小于等于两个数组的右边部分的最小值,

2025-01-27 18:00:00 970

原创 二分查找题目:快照数组

操作,需要对快照数组的每个下标维护元素值信息,即每个下标处需要维护一个列表记录每次更新的快照编号和更新后的元素值,列表中的每个元素为快照编号和最新元素值的对,且按照快照编号非严格升序排序。并返回更新前的快照编号,因此在整个过程中,快照编号满足非严格单调递增。的快照编号,由于初始时快照数组中的每个元素都等于。处的列表中添加一个元素,该元素为当前快照编号和。的最大快照编号的元素,并返回该元素的值。的最大快照编号的元素,因此初始时。处的元素的快照编号即为小于等于。的最大快照编号,返回列表下标。

2025-01-23 18:00:00 916

原创 二分查找题目:基于时间的键值存储

对于每个关键字,维护一个列表存储该关键字的所有时间戳和值的信息,列表中的每个元素为时间戳和值的对,且按照时间戳升序排序。操作的顺序记录每个关键字对应的所有时间戳和值的信息时,一定满足记录的信息按照时间戳严格升序,此时可以使用二分查找的方式找到相应的值。设计一个基于时间的键值数据结构,该结构可以在不同时间戳存储对应同一个键的多个值,并针对特定时间戳检索键对应的值。为了根据给定的关键字和时间戳得到相应的值,需要记录每个关键字对应的所有时间戳和值的信息。的最大时间戳的元素,并返回该元素的值。等于列表的最大下标。

2025-01-20 18:00:00 822

原创 一次前端项目的事故

事情发生在这个星期。有一天,同组的同事发现公司内部使用的一个前端项目出现故障,现象是网页排版错乱。由于我参与过该前端项目的开发,对项目较为了解,因此同事让我查看问题原因并解决。我查看了提交记录,发现最新的提交记录是一位美国同事的代码改动,在北京时间当天上午合并到主分支,然后部署到生产环境,因此初步推测是最新的代码改动导致故障。当时想到的解决方法是回退到之前的稳定版本。由于在前几天有我的代码改动部署到生产环境且经过验证是可以正常运行的,因此将生产环境的部署版本回退到前几天的我的代码改动后的版本。

2025-01-18 09:17:47 514

原创 二分查找题目:在线选举

对于每个时刻的选票,更新该选票投给的候选人的票数,如果该候选人的票数大于等于当前领先的候选人的票数(由于平局时最近获得选票的候选人领先,因此也需要考虑票数相等的情况),则更新当前领先的候选人编号。为了快速得到选举中特定时刻领先的候选人,需要在初始化时预处理投票信息,对于每张选票,更新候选人的票数,并记录该时刻领先的候选人。的最后一次投票时刻,然后在每个时刻领先的候选人数组中找到该时刻领先的候选人并返回。的最后一次投票时刻,并计算该时刻每个候选人的票数,得到在选举中领先的候选人。构造方法中预处理投票信息。

2025-01-16 18:00:00 863

原创 二分查找题目:乘法表中第 k 小的数

个数,该数据规模下生成乘法表的做法是不可行的,必须使用时间复杂度更低的做法。小的数,最朴素方法是生成完整的乘法表,然后遍历乘法表寻找第。的时间计算小于等于特定值的数的个数,因此总时间复杂度是。因此,这道题是二分查找判定问题,需要找到最小的整数。的时间计算小于等于特定值的数的个数,时间复杂度是。的数的个数,需要计算乘法表的每一行中小于等于。假设乘法表的列数无限,乘法表的第。的数的个数之后,即可得到乘法表中小于等于。时,可以在转置后的乘法表中寻找第。在计算乘法表的每一行中小于等于。的数的个数,执行如下操作。

2025-01-13 18:00:00 1349

原创 二分查找题目:寻找峰值 II

考虑矩阵每一行的最大值,其中一定存在一个最大值是峰值。在矩阵的行下标范围中执行二分查找,二分查找的次数是。的最大值都不是峰值,因此每一行的最大值都小于上一行同列的元素,每一行的最大值都小于上一行的最大值。不会超出矩阵行下标范围),判断可能存在峰值的下标范围,调整查找的下标范围。一个二维网格中的峰值元素是指其值严格大于相邻值(左、右、上、下)的元素。的大小关系判断可能存在峰值的行下标范围,并在更小的范围内查找峰值。分别表示二分查找的行下标范围的下界和上界,初始时。的最大值即为峰值,找到峰值并返回其位置。

2025-01-09 18:00:00 803

原创 二分查找题目:寻找峰值

因此需要使用二分查找的做法寻找峰值。二分查找的过程中需要判断可能存在峰值的下标范围,缩小查找的下标范围。不会超出数组下标范围),判断可能存在峰值的下标范围,调整查找的下标范围。的大小关系判断可能存在峰值的下标范围,并在更小的范围内查找峰值。,找到一个峰值元素并返回其下标。分别表示二分查找的下标范围的下界和上界,初始时。基于上述思路,可以使用二分查找的做法寻找峰值。中可能存在峰值,在该下标范围中继续查找。中可能存在峰值,在该下标范围中继续查找。的数组中寻找峰值的时间复杂度是。中存在峰值,则下标范围。

2025-01-06 18:00:00 1719

原创 二分查找题目:寻找右区间

由于题目要求返回每个区间的右区间对应的下标,因此在将区间按照起点升序排序时需要记录每个区间的下标,具体做法是新建一个数组记录每个区间的起点和下标,将新数组按照起点升序排序。为了找到每个区间的右区间,可以将每个区间按照起点升序排序,然后使用二分查找寻找右区间,对于每个区间寻找右区间的时间复杂度从。,对于每个区间在新数组中寻找大于等于当前区间终点的最小起点,该起点对应的下标即为当前区间的右区间对应的下标。个区间的起点与当前区间的终点的关系,调整查找的下标范围。个区间的起点小于当前区间的终点,则右区间位于第。

2025-01-02 18:00:00 1612

原创 二分查找题目:寻找旋转排序数组中的最小值 II

这道题也可以使用二分查找的思想,但是由于数组中可能存在重复元素,因此无法保证达到二分查找的时间复杂度。由于被排除的下标都不可能是最小值所在下标,因此。,则无法确定两个有序子数组的分界位置(即第二个有序子数组的开始下标)是在。为了寻找旋转排序数组中的最小值,需要得到旋转排序数组中的最小值所在下标。处的数,判断该数位于哪一个有序子数组中,调整查找的下标范围。的右边,此时无法将查找的下标范围缩小一半,因此在下标范围。由于被排除的下标都不可能是最小值所在下标,因此。,当该条件不成立时,二分查找结束,此时的。

2024-12-30 18:00:00 835

原创 二分查找题目:搜索旋转排序数组 II

这道题也可以使用二分查找的思想,但是由于数组中可能存在重复元素,因此无法保证达到二分查找的时间复杂度。三个元素不完全相等,则可以根据这三个元素值与目标值的大小关系确定目标值可能出现的下标范围,调整查找的下标范围。处的数,判断该数是否等于目标值以及位于哪一个有序子数组中,调整查找的下标范围。,则无法确定两个非递减子数组的分界位置(即第二个非递减子数组的开始下标)是在。时,整个数组是一个非递减数组,即第二个非递减子数组的长度是。的右边,此时无法将查找的下标范围缩小一半,因此在下标范围。开始的有序子数组中。

2024-12-26 18:00:00 554

原创 二分查找题目:两球之间的磁力

个球,当最小距离确定时,应该在确保相邻的球之间的距离不小于最小距离的前提下尽可能放入更多的球。因此,第一个球应该放到最左边的篮子中,后面的每个球应该放到与前一个球的距离大于等于最小距离的最近的篮子中。由于两个球之间的磁力等于两个球之间的距离,因此为了得到最小磁力,需要计算最小距离。在代号为地球 C-137 的世界中,Rick 发现如果他将两个球放在他新发明的篮子中,它们之间会形成特殊形式的磁力。,判断每个球应该放到哪些篮子中,并计算放到篮子中的球的总数。由于最大距离为两端的篮子之间的距离,因此。

2024-12-23 18:00:00 895

原创 二分查找题目:制作 m 束花所需的最少天数

如果等待天数大于等于最少天数,则可以制作全部花束;如果等待天数小于最少天数,则不能制作全部花束。因此,这道题是二分查找判定问题,需要找到最少天数。由此可以得到每朵花是否盛开,并根据连续盛开的花朵数计算可以制作多少束花。作为等待天数,判断是否可以制作全部花束,执行如下操作。朵,因此当所有花都盛开时,一定可以制作全部花束。由于当所有花都盛开时一定可以制作全部花束,因此。时可以制作全部花束,则最少天数小于等于。时不能制作全部花束,则最少天数大于。时,制作全部花束需要的花不超过。朵花,无法满足制作要求,返回。

2024-12-19 18:00:00 822

原创 二分查找题目:使结果不超过阈值的最小除数

如果除数大于等于最小除数,则除法结果之和小于等于阈值;如果除数小于最小除数,则除法结果之和大于阈值。判断除法结果之和是否小于等于阈值时,如果遍历尚未结束,除法结果之和就已经大于阈值,除法结果之和一定大于阈值,此时可以提前返回,不需要计算除法结果之和。为方便表述,下文使用「最小除数」表示使除法结果之和小于等于阈值的最小除数。作为除数,判断除法结果之和是否小于等于阈值,执行如下操作。如果除法结果之和小于等于阈值,则最小除数小于等于。时,除法结果之和一定不大于阈值,因此。,由此可以得到除法结果之和。

2024-12-16 18:00:00 748

原创 二分查找题目:在 D 天内送达包裹的能力

为了能在规定的天数内将传送带上的所有包裹送达,当运载能力确定时,每次装载应在不超过运载能力的前提下将装载的重量最大化。由于必须按照给定的顺序装载包裹,因此当给定包裹重量数组和运载能力时,可以遍历数组计算将传送带上的所有包裹送达需要的天数。如果实际运载能力大于等于最低运载能力,则将传送带上的所有包裹送达需要的天数小于等于。如果实际运载能力小于最低运载能力,则将传送带上的所有包裹送达需要的天数大于。天内将传送带上的所有包裹送达的船的最低运载能力。天内将传送带上的所有包裹送达的船的最低运载能力。

2024-12-12 18:00:00 1488

原创 二分查找题目:爱吃香蕉的珂珂

小时内吃掉所有香蕉,此时可以提前返回,不需要计算珂珂吃掉所有香蕉的总时间。根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。每个小时,她将会选择一堆香蕉,从这堆香蕉中吃掉。珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。由于珂珂在同一小时内最多吃一堆香蕉,因此。小时,由此可以得到珂珂吃掉所有香蕉的时间。作为珂珂吃香蕉的速度,判断珂珂是否可以在。珂珂可以决定她吃香蕉的速度为每小时吃。时,珂珂吃掉所有香蕉的时间小于等于。表示珂珂吃香蕉的速度,即每小时吃。时,珂珂吃掉所有香蕉的时间大于。

2024-12-09 18:00:00 628

Weekly Contest 190.zip

该资源是LeetCode第190场周赛的四道题的代码,均为Java代码,可直接贴到LeetCode编辑器内运行,代码均可提交通过。

2020-05-24

Neural Networks—Tricks of the Trade (2nd Edition).pdf

It is our belief that researchers and practitioners acquire, through experience and word-of-mouth, techniques and heuristics that help them successfully apply neural networks to difficult real world problems. Often these "tricks" are theoretically well motivated. Sometimes they are the result of trial and error. However, their most common link is that they are usually hidden in people's heads or in the back pages of space-constrained conference papers. As a result newcomers to the field waste much time wondering why their networks train so slowly and perform so poorly. This book is an outgrowth of a 1996 NIPS workshop called Tricks of the Trade whose goal was to begin the process of gathering and documenting these tricks. The interest that the workshop generated, motivated us to expand our collection and compile it into this book. Although we have no doubt that there are many tricks we have missed, we hope that what we have included will prove to be useful, particularly to those who are relatively new to the field. Each chapter contains one or more tricks presented by a given author (or authors). We have attempted to group related chapters into sections, though we recognize that the different sections are far from disjoint. Some of the chapters (e.g. 1,13,17) contain entire systems of tricks that are far more general than the category they have been placed in.

2019-08-22

神经网络与深度学习

神经网络与深度学习,作者Michael Nielsen是一位量子物理学家、科学作家、计算机编程研究人员。 《神经⽹络和深度学习》的内容包括: 神经⽹络,⼀种美妙的受⽣物学启发的编程范式,可以让计算机从观测数据中进⾏学习; 深度学习,⼀个强有⼒的⽤于神经⽹络学习的众多技术的集合。 《神经⽹络和深度学习》给出了在图像识别、语⾳识别和⾃然语⾔处理领域中很多问题的最好解决⽅案。

2018-10-14

C程序设计语言(第二版)

C程序设计语言中文版第2版,由著名的计算机科学家Brian W. Kernighan和C语言之父的Dennis M. Ritchie合著的一部计算机科学著作,是第一部介绍C语言编程方法的书籍。它是一本必读的程序设计语言方面的参考书。

2017-03-12

统计自然语言处理(宗成庆)

宗成庆著统计自然语言处理,包括统计学习的基本概念和自然语言处理的相关知识。

2017-03-12

数据挖掘:概念与技术(第三版)

该资源是数据挖掘:概念与技术中文版第三版,可用于学习数据挖掘相关知识。

2017-03-12

Statistical Decision Theory and Bayesian Analysis (2nd Edition)

统计决策论及贝叶斯分析第二版英语版,概率论和统计学的经典读物。

2017-03-08

Foundations of Statistical Natural Language Processing

统计自然语言处理英语版,包括统计学习的基本概念和自然语言处理的相关知识。

2017-03-08

Recommender Systems Handbook

推荐系统手册,涉及到推荐系统以及相关的机器学习的内容。

2017-03-08

Deep Learning (Ian Goodfellow, Yoshua Bengio, Aaron Courville)

机器学习大牛Ian Goodfellow、Yoshua Bengio等人出的关于深度学习的书,为完整版,对于人工智能和深度学习的研究者有很大帮助。

2017-03-08

Deep Learning (Yoshua Bengio, Ian Goodfellow, Aaron Courville, October 03, 2015)

机器学习大牛Bengio等人最近出的关于深度学习的书,对于人工智能和深度学习的研究者有很大帮助。

2015-10-08

算法导论英语版

程序由数据结构和算法组成,算法的重要性不言而喻。《算法导论》内容非常丰富,不但涵盖了典型算法、算法分析、算法设计方法和NP完全等内容,而且还包括数据结构,甚至高级数据结构的介绍。

2014-07-14

概率与计算

该资源是概率与计算中文版,Michael Mitzenmacher、Eli Upfal著,史道济等译。该书详细介绍了概率技术以及在概率算法一分析发展中使用过的范例,适合作为高等院校计算机科学和应用数学专业高年级本科生与低年级研究生的教材,也适合作为数学工作者和科技人员的参考书。

2014-03-06

语言与机器:计算机科学理论介绍

该资源为语言与机器:计算机科学理论介绍Languages and Machines—An Introduction to the Theory of Computer Science。

2013-11-21

计算理论元素

该资源为计算理论元素Elements of the Theory of Computation。

2013-11-21

Learning jQuery 3rd Edition

该资源为Learning jQuery第三版,可用于学习网页制作的jQuery相关知识。

2013-11-21

C++编程思想

该资源为C++编程思想,可用于学习C++编程。

2013-11-21

计算机系统设计原理下册

该资源是计算机系统设计原理下册,为第7章到第11章以及附录。

2013-11-21

计算机系统设计原理上册

该资源为计算机系统设计原理上册,为第1章到第6章。

2013-11-21

数据结构与Java算法第四版

该资源为数据结构与Java算法第四版,Data Structures and Algorithms in Java 4th Edition,可用于学习数据结构相关知识。

2013-11-21

The Design Patterns Java Companion

该资源是设计模式Design Patterns相关内容。

2013-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除