首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【day 02】LeetCode(力扣)每日一刷

整数各位积和之差 二、215. (中等)数组第K个最大元素 三、670. (中等)最大交换 一、(简单)1281. 整数各位积和之差 原题链接:1281....整数各位积和之差 题目描述: 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」差。...(中等)数组第K个最大元素 原题链接:(中等)数组第K个最大元素 题目描述: 给定整数数组 nums 和整数 k,请返回数组第 k 个最大元素。...因为Java有PriorityQueue()方法,所以写起来最简单。...(中等)最大交换 原题链接:(中等)最大交换 题目描述: 给定一个非负整数,你至多可以交换一次数字任意两位。返回你能得到最大值。

35520

算法__N皇后算法

问题描述 n 皇后问题研究是如何将 n 个皇后放置在 n×n 棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题一种解法。...给定一个整数 n,返回所有不同 n 皇后问题解决方案。 每一种解法包含一个明确 n 皇后问题棋子放置方案,该方案 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。...解题思路 代码 代码思路 一行一行地摆放,在确定一行那个皇后应该摆在哪一列时,需要当前列是否合法,如果合法,则将皇后放置在当前位置,并进行递归,回溯。...这里判断是否在同一条斜线上可通过当前将要摆放’Q’位置和其他已摆放‘Q’位置横坐标之差和纵坐标之差绝对值是否相等来判断 class Solution { public List<List<...//这里判断是否在同一条斜线上可通过当前将要摆放'Q'位置和其他已摆放‘Q’位置横坐标之差和纵坐标之差绝对值是否相等来判断。

32320
您找到你想要的搜索结果了吗?
是的
没有找到

力扣(LeetCode)刷题,简单题(第15期)

目录 第1题:将整数转换为两个无零整数和 第2题:一周第几天 第3题:把二叉搜索树转换为累加树 第4题:连续字符 第5题:拿硬币 第6题:删除中间节点 第7题:猜数字 第8题:整数各位积和之差...---- 第2题:一周第几天 试题要求如下: ?...解答思路: 在递归方法,我们维护一些递归调用过程可以访问和修改全局变量。首先我们判断当前访问节点是否存在,如果存在就递归右子树,递归回来时候更新总和和当前点值,然后递归左子树。...---- 第8题:整数各位积和之差 试题要求如下: ?...---- 第10题:统计位数为偶数数字 试题要求如下: ?

29720

文心一言 VS 讯飞星火 VS chatgpt (276)-- 算法导论20.3 3题

伪代码 Van Emde Boas树通常用于支持在[0, 2^w - 1]范围内高效查找、插入和删除操作,其中w是一个正整数,代表树宽度。...360智脑: Van Emde Boas树是一种用于对集合元素进行高效(log log U)查找、插入和删除抽象数据类型,其中U是集合可能最大数量。它适用于键是整数情况。...智谱清言: Van Emde Boas树是一种用于快速处理集合操作数据结构,例如计算集合排名、中位数和其他统计信息。...天工: 创建空van Emde Boas树(vEB树)过程相对简单,因为它只需要初始化一些基本数据结构。vEB树是一种用于实现高效字典数据结构,特别适合于固定大小整数集合。...最后,我们实现了一个辅助函数isPowerOfTwo,用于检查给定整数是否为2幂。在main函数,我们创建了一个空van Emde Boas树,并打印了其结构。

11220

MySQL查询中位数

导读 计算中位数可能是小学内容,然而在数据库查询实现却并不是一件容易事。我们今天就来看看都有哪些方法可以实现。 ? 注:本文所用MySQL版本无限制,所列题目均来源于LeetCode。...根据定义,为了查询中位数,我们需要知道3点信息: 总数是奇数个还是偶数个 待查找数字总数 每个数字排序编号 前两点信息在MySQL中非常简单,只需简单count计数即可,而排序编号则需要借助辅助方法...也就是说3个排序编号不会同时取得整数,从而可以不加区分直接判断即可。...---- 571# 给定数字频率查询中位数 刚才一道题是对给定一组数字查询中位数,顶多也就是要进行分组后查询中位数。那如果给定数字不是数字全样本,而是数字+频率呢? 题目描述: ?...解法2 前面的方法是借助了中位数一个性质,实话说还是不够直观。那么,如果仍然沿用中位数排序编号规律,是否可以用于本题SQL查询呢? 当然可以。

6.3K10

重学数据结构(八、查找

换句话说,动态查找表结构本身是在查找过程动态生成,即在创建表时,对千给定值, 若表存在其关键字等于给定记录, 则查找成功返回;否则插入关键字等千给定记录。...二、线性表查找查找组织方式,线性表是最简单一种。 1、顺序查找 1.1、基本思想 在表组织方式,线性表是最简单一种。而顺序查找是线性表查找中最简单一种。...图1:顺序查找示例图 ? 順序査找方法既适用于线性表顺序存储结构,也适用于线性表链式存储结构。...折半查找优点是:比较次数少,查找效率高。其缺点是:对表结构要求高,只能用于顺序存储有序表。 如果对无序表进行二分查找查找前需要排序,而排序本身是一种费时运算。...因此,仍需以平均查找长度作为衡量散列表查找效率量度。 (2) 查找过程需和给定值进行比较关键字个数取决千三个因素:散列函数、处理冲突方法和散列表装填因子。

78420

数据分析常用Excel函数合集(下)

Excel是我们工作中经常使用一种工具,对于数据分析来说,这也是处理数据最基础工具。本文对数据分析需要用到函数做了分类,并且有详细例子说明。...语法:ROUND(数值, 位数) round(3.1415,2)=3.14 ; round(3.1415,1)=3.1 ? ? ? MOD 时间序列类 专门用于处理时间格式以及转换。...WEEKDAY 功能:返回对应于某个日期一周第几天。默认情况下, 1(星期日)到 7(星期六)范围内整数。 语法:=Weekday(指定时间,参数),参数设为2,则星期一为1,星期日为7 ?...各代码含义如下: "y"返回时间段整年数 "m”返回时间段整月数 "d"返回时间段天数 "md”参数1和2天数之差,忽略年和月 "ym“参数1和2月数之差,忽略年和日 "yd”参数1和2...天数之差,忽略年。

2.9K20

14种模式搞定面试算法编程题(PART I)

1、滑动窗口 滑动窗口模式用于给定数组或链表特定窗口大小执行所需操作,例如查找包含所有1最长子序列。滑动窗口从第一个元素开始,每次向右移动一个元素并根据要解决问题调整窗口长度。...问题输入是线性数据结构,如链表、数组或字符串 题目要求查找最长/最短子字符串、子数组或所需值 举个栗子 来看看实际应用滑动窗口解决问题 滑动窗口最大值(剑指offer)[2] 滑动窗口中位数(LEETCODE...在涉及间隔许多问题中,你可以需要找到重叠间隔或合并间隔(如果它们重叠)。给定两个间隔 和 ,可能存在6不同间隔交互情况: ?...Tree DFS基本思想是使用递归(或迭代方法堆栈)在遍历时跟踪所有先前(父)节点。...Subsets模式描述了一种有效广度优先搜索(BFS)方法来处理所有这些问题。

2K11

「刷题警告」递归算法

---- 正文开始 递归一种应用非常广泛算法,或者是编程技巧。去过程叫“递”,回来过程叫“归”。...---- 算法题 题型一 给定一个非负整数 num,反复将各个位上数字相加,直到结果为一位数。...写一个递归函数,不使用 * 运算符, 实现两个正整数相乘。可以使用加号、减号、位移,但要吝啬一些。...:若A较大,则递归公式为:A * B = A * (B - 1)+ B; 情况二:若B较大,则递归公式为:A * B = B * (A - 1)+ A; 题型三 给定一个二叉树,返回它后序遍历。...我对二叉树仅有的认知: 一个根节点、最多两个分支节点。 有前序遍历、序遍历、后序遍历三种方式。

46610

C# .NET面试系列九:常见算法

这个程序首先要求用户输入一个正整数作为查找质数范围上限,然后使用 IsPrime 方法判断每个数是否为质数,并输出在指定范围内所有质数。...在实际应用,为了提高效率,可以使用迭代或其他优化方法来计算斐波那契数列。3. 冒泡排序冒泡排序是一种简单排序算法,其基本思想是通过多次交换相邻元素,将较大元素逐步移动到数组末尾,实现排序。...PrintArray(array); Console.ReadLine(); }}在这个示例,BubbleSort 方法执行冒泡排序,Swap 方法用于交换数组两个元素位置。...Array.Exists 方法用于检查数组是否已经存在当前生成随机数。最后,程序输出生成随机数组。7....程序首先输出排序前数组,然后进行选择排序,最后输出排序后数组。 Swap 方法用于交换数组两个元素位置,PrintArray 方法用于输出数组。11.

13910

机器学习算法之kd树

2.1 构造方法 (1)构造根结点,使根结点对应于 k 维空间中包含所有实例点超矩形区域; (2)通过递归方法,不断地对 k 维空间进行切分,生成子结点。...(4)通常,循环选择坐标轴对空间切分,选择训练实例点在坐标轴上位数为切分点,这样得到 kd树 是平衡 平衡二叉树:它是一棵空树,或其左子树和右子树深度之差绝对值不超过1,且它左子树和右子树都是平衡二叉树...好划分方法可以使构建树比较平衡,可以每次选择中位数来进行划分,这样问题2也得到了解决。...;接着左矩形以 x(2)=4 分为两个子矩形(左矩形{(2,3),(5,4),(4,7)}点 x(2) 坐标中位数正好为4),右矩形以 x(2)=6 分为两个子矩形,如此递归,最后得到如下图所示特征空间划分和...「百度百科」中位数,又称中点数,中值。中位数是按顺序排列一组数据居于中间位置数,即在这组数据,有一半数据比他大,有一半数据比他小 ?

1.3K30

4.5.1 二叉排序树

若二叉排序树非空,将给定值与根结点关键字比较,若相等,则查找成功;若不等,则当根结点关键字大于给定关键字时,在根结点左子树查找,否则在根结点右子树查找。...NULL p=NULL;//p指向被查找结点双亲,用于以后插入和删除操作 while(T!...,而是在查找过程,当树不存在关键字等于给定结点时再进行插入。...由于二叉排序树是递归定义,插入结点过程是,若原二叉排序树为空,则直接插入结点,否则,若关键字k小于根结点关键字,则插入到左子树,若关键字K大于根结点关键字,则插入到右子树。...③若结点z有左、右两棵子树,则令z直接后继(或直接前驱)代替Z,然后从二叉排序树删除这个直接后继(或直接前驱),这样就转化成第一种或第二种情况。

50430

算法奥秘:常见六种算法(算法导论笔记2)

快速排序算法实现包括两个主要部分:quickSort和partition。quickSort方法用于递归地排序子数组,而partition方法用于将数组分为两个子数组,并返回基准元素索引。...在partition方法,我们选择数组最后一个元素作为基准,然后将小于等于基准元素移到左边,大于基准元素移到右边。最后,我们返回基准元素索引,以便在quickSort方法中进一步分割子数组。...查找算法: 查找算法用于在数据结构查找特定元素。常见查找算法包括线性查找和二分查找等。 线性查找:从数据结构一端开始逐个比较每个元素,直到找到目标元素或遍历完整个数据结构。...在示例用法,我们创建了一个包含五个整数数组,并使用二分查找算法查找目标元素5位置。如果目标元素存在,则输出其位置;否则输出“目标元素不存在”。...背包问题:给定一组物品,每种物品都有自己重量和价值,背包总容量有限。求解如何选择物品放入背包使得背包内总价值最大。 最大子段和问题:给定一个整数数组,求解连续子数组使得其和最大。

19510

《算法竞赛进阶指南》0x05 排序

,而是对被排序数值采取按位划分、分类映射等处理方式 其时间复杂度不仅与 n 有关,还与数值大小范围 m 有关 离散化 排序算法第一个应用时离散化 离散化就是把无穷大集合若干个元素映射为有限集合以便于统计方法...题目描述 依次读入一个整数序列,每当已经读入整数个数为奇数时,输出已读入整数构成序列位数。...您任务是确定超快速排序需要执行多少交换操作才能对给定输入序列进行排序。 输入格式 输入包括一些测试用例。 每个测试用例第一行输入整数 n ,代表该用例输入序列长度。...当输入用例包含输入序列长度为 0 时,输入终止,该序列无需处理。 输出格式 对于每个需要处理输入序列,输出一个整数 op,代表对给定输入序列进行排序所需最小交换操作数,每个整数占一行。...空格移动规则与八数码游戏相同,实际上,八数码就是一个 n=3 奇数码游戏。 现在给定两个奇数码游戏局面,请判断是否存在一种移动空格方式,使得其中一个局面可以变化到另一个局面。

72640

算法导论系列:分治算法

在使用分治法时,使用递归算法是解决问题利器.下面我们用二分搜索,这个最典型分治问题来举例,看看分治算法是如何进行工作....解题思路: 从问题描述来看,如果是n个数,最坏情况我们得猜n次才可以成功,其实我们没有必要非得一个个去猜,这显然是一个笨方法,因为这些数是有序,我们可以按照折半查找方式,每次和中间元素去比较...那我们现在思路有了,可以将问题抽象描述出来: 给定n个元素,假设这些元素是有序,从中查找特定元素x....算法设计: 使用一维数组S[]放置该有序序列,设置变量low和high表示查找上下界,middle表示中间位置,x为特定查找元素. 1:初始化.令low=0(S[]第一位数),high=n-1...(S[]中最后一位数). 2:middle = (low+high)/2,表示中间查找范围. 3:判断low<high是否成立,如果成立,继续下一步,否则结束. 4:判断x与S[middle]关系,

51220

滑动窗口秒存在重复元素 II

存在重复元素 II 给定一个整数数组和一个整数 k,判断数组是否存在两个不同索引 i 和 j, 使得 nums[i] = nums[j],并且 i 和 j 绝对值至多为 k。...2: 输入: nums = [1,0,1,1], k = 1 输出: true 示例 3: 输入: nums = [1,2,3,1,2,3], k = 2 输出: false 解题思路 在数组查找两个相等元素并使得其下标之差绝对值不大于给定值...,首先可以想到暴力法去求解,两层遍历数组,查找相等元素对并判断其下标之差绝对值是否小于等于给定值,此解法时间复杂度为O(n^2)。...向右拓展同时,len 右移 查看下一元素 m 在区间[len + 1, len + k]是否有相同元素。 ? 判断下一元素是否跟区间中元素相同 ?.../* 遍历数组时,查找该元素是否在查找 */ if (record.find(nums[i]) !

52830

大厂面试系列(七):数据结构与算法等

链表逆序,不能用修改指针方法,用递归如何实现。...按出现频次高低输出所有的数字 给定一个乱序数组,求数组内最大连续数; 无序数组找第k大数 给一个数组,和k,求数组哪两个数之和为k,除了双层for循环和字典方式还能用什么方式实现; 查找 写二分查找算法...有主字符串A,子字符串B,在A查找B 手撕一个有序数组二分查找算法 请说出二分查找实现思路及时空复杂度。...给你一个整数数组,数组元素定义一种距离 d[i] 为将数组排序后,该元素移动距离,现在给你一个K数组,即数组中所有元素距离d <= k,对这个K数组排序,希望尽量小时间复杂度。...写一个fibnaccio相关例子 输入两个字符串str1 str2和整数n,要求两个数以n进制相加,然后输出字符串str3 就是二位数组如何进行螺旋输出 然后第二道算法题是如何从25匹马通过赛马形式找到最快

1.1K20

Python数据结构与算法笔记(3)

problem-solving-with-algorithms-and-data-structure-using-python 中文版 4 递归 递归一种解决问题方法,将问题分解为更小子问题...,直到得到一个足够小问题可以被很简单地解决,通常递归设计函数调用自身。...递归允许我们编写优雅解决方案,解决可能很难编程问题 递归算法必须服从三个重要定律: 递归算法必须具有基本情况 递归算法必须改变其状态并向基本情况靠近 递归算法必须以递归方式调用自身 整数转换为任意进制字符串...将原始数字减少为一系列单个位数字 2. 使用查找将单个位数字转换为字符串 3....将单个位字符串链接在一起形成最终结果 动态规划 计算机科学许多程序是为了优化一些值而编写,例如,找到两个点之间最短路径,找到最合适一组点线,或找到某些标准最小对象集。

49410

程序员数学笔记3--迭代法

上述例子,这个迭代变量就是f(n)和f(n-1) 建立迭代变量之间递推关系。上述例子,这个递归关系是f(n)=f(n-1)*2 控制迭代过程。...典型方法包括二分查找,其实也是二分法在搜索方面的应用; 机器学习算法迭代。...举个例子,我们要计算一个给定整数n(n>1)平方根,并且不能采用编程语言自带函数,应该如何计算呢?...首先我们可以明确是,对于给定整数n,它平方根肯定是小于它,但大于1,也就是这个平方根取值范围是 1 到 n ,在这个范围内求一个数值平方等于n。 这里就可以通过采用刚刚说二分法。...这里要解决问题就是如何在字典查询匹配单词问题。一种做法就是哈希表。而如果不用哈希表方法,还可以采用二分查找法。二分查找法进行字典查询思路如下: 对整个字典先进行排序(假设是从小到大)。

68840

寻找第K元素八大算法、源码及拓展

递归调用中位数选择算法查找上一步中所有组位数位数,设为x,偶数个中位数情况下设定为选取中间小一个。...若i==k,返回x; 若i<k,在小于x元素递归查找第i小元素; 若i>k,在大于等于x元素递归查找第i-k小元素...1.动态中位数查找。实现在对数时间内插入元素,常数时间内找到中位数,对数时间内删除中位数。 我们假定在集合中有偶数个元素时,中位数是指较小那个中间数。...如果插入之后两堆元素个数之差超过了1,就把多那个堆堆顶元素插入到另一堆里。删除元素时,将中位数删掉之后,同样调整两个堆元素个数。...解答:上面的解法均适用,需要注意是浮点数比较时和整数不同,另外求hashkey方法也会略有不同。 2. 如果是找第k到第m(0<k<=m<=n)大数呢?

2.6K60
领券