-------1.2. 每日一练
在风中的意志
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[算法] [leetcode-740] 删除并获得点数
每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。之后,再次删除 3 获得 3 个点数,再次删除 3 获得 3 个点数。删除 3 获得 3 个点数,接着要删除两个 2 和 4。之后,删除 2 获得 2 个点数。总共获得 6 个点数。删除 4 获得 4 个点数,因此 3 也被删除。输入:nums = [2,2,3,3,3,4]输入:nums = [3,4,2]总共获得 9 个点数。原创 2024-12-31 19:44:34 · 347 阅读 · 0 评论 -
[算法] [leetcode-746] 使用最小花费爬楼梯
给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。输入:cost = [1,100,1,1,1,100,1,1,100,1]你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。输入:cost = [10,15,20]请你计算并返回达到楼梯顶部的最低花费。解释:你将从下标为 1 的台阶开始。解释:你将从下标为 0 的台阶开始。746 使用最小花费爬楼梯。原创 2024-12-31 19:43:28 · 350 阅读 · 0 评论 -
[算法] [leetcode-198] 打家劫舍
每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。输入:[2,7,9,3,1]输入:[1,2,3,1]原创 2024-12-31 19:42:01 · 251 阅读 · 0 评论 -
[算法] [leetcode-414] 第三大的数
此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1。给你一个非空数组,返回此数组中 第三大的数。如果不存在,则返回数组中最大的数。解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。进阶:你能设计一个时间复杂度 O(n) 的解决方案吗?解释:第三大的数不存在, 所以返回最大的数 2。输入:[2, 2, 3, 1]解释:第三大的数是 1。输入:[3, 2, 1]原创 2024-12-31 19:38:55 · 216 阅读 · 0 评论 -
[算法] [leetcode-875] 爱吃香蕉的珂珂
珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。返回她可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。输入:piles = [30,11,23,4,20], h = 5。输入:piles = [30,11,23,4,20], h = 6。输入:piles = [3,6,7,11], h = 8。珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。原创 2024-12-31 19:37:13 · 208 阅读 · 0 评论 -
[算法] [leetcode-324] 摆动排序 II
给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]…解释:[1,4,1,5,1,6] 同样是符合题目要求的结果,可以被判题程序接受。题目数据保证,对于给定的输入 nums ,总能产生满足题目要求的结果。你可以假设所有输入数组都可以得到满足题目要求的结果。输入:nums = [1,5,1,1,6,4]输入:nums = [1,3,2,2,3,1]输出:[1,6,1,5,1,4]输出:[2,3,1,3,1,2]324 摆动排序 II。原创 2024-12-31 19:36:00 · 345 阅读 · 0 评论 -
[算法] [leetcode-75] 颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。输入:nums = [2,0,2,1,1,0]你能想出一个仅使用常数空间的一趟扫描算法吗?输入:nums = [2,0,1]nums[i] 为 0、1 或 2。输出:[0,0,1,1,2,2]输出:[0,1,2]原创 2024-12-31 19:34:12 · 602 阅读 · 0 评论 -
[算法] [leetcode-215] 数组中的第K个最大元素
请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。输入: [3,2,1,5,6,4], k = 2。215 数组中的第K个最大元素。原创 2024-12-31 19:32:58 · 323 阅读 · 0 评论 -
[算法] [leetcode-20] 有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。每个右括号都有一个对应的相同类型的左括号。左括号必须用相同类型的右括号闭合。输入:s = “()[]{}”左括号必须以正确的顺序闭合。输入:s = “([])”输入:s = “()”输入:s = “(]”原创 2024-12-31 19:31:41 · 316 阅读 · 0 评论 -
[算法] [leetcode-349] 两个数组的交集
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。输入:nums1 = [1,2,2,1], nums2 = [2,2]给定两个数组 nums1 和 nums2 ,返回 它们的。解释:[4,9] 也是可通过的。原创 2024-12-31 19:29:50 · 468 阅读 · 0 评论 -
[算法] [leetcode-70] 爬楼梯
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。解释:有两种方法可以爬到楼顶。解释:有三种方法可以爬到楼顶。原创 2024-12-31 19:27:17 · 623 阅读 · 0 评论 -
[算法] [leetcode-509] 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。F(n) = F(n - 1) + F(n - 2),其中 n > 1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。解释:F(3) = F(2) + F(1) = 1 + 1 = 2。解释:F(4) = F(3) + F(2) = 2 + 1 = 3。给定 n ,请计算 F(n)。原创 2024-12-31 19:23:26 · 510 阅读 · 0 评论 -
[算法] [leetcode-1137] 第 N 个泰波那契数
T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2。给你整数 n,请返回第 n 个泰波那契数 Tn 的值。1137 第 N 个泰波那契数简单。输出:1389537。原创 2024-12-31 19:21:16 · 488 阅读 · 0 评论 -
[LetCode-1438] 绝对差不超过限制的最长连续子数组
题目 - letcode1438难度 - 中等给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。如果不存在满足条件的子数组,则返回 0 。示例 1输入:nums = [8,2,4,7], limit = 4输出:2 解释:所有子数组如下:[8] 最大绝对差 |8-8| = 0 <= 4.[8,2] 最大绝对差 |8-2| = 6 > 4. [8,2,4] 最原创 2021-02-25 00:52:01 · 487 阅读 · 0 评论 -
算法练习 - HJ107 求解立方根
前言求解立方根. 原题信息如下所示:计算一个数字的立方根,不使用库函数详细描述:接口说明原型:public static double getCubeRoot(double input)输入:double 待求解参数返回值:double 输入参数的立方根,保留一位小数输入描述: 待求解参数 double类型输出描述: 输入参数的立方根 也是double类型示例1输入 216输出 6.0(牛客网 - HJ107) 求解立方根解析求立方根.工具法.我们可以使用M原创 2020-07-09 15:03:39 · 1144 阅读 · 0 评论 -
LetCode-1560 (Offer29) - 数组中出现次数超过一半的数字
前言题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。测试数据组:Case1: {1,2,3,2,2,2,5,4,2}Result: 2Case2: {1,2,3,2,4,2,5,2,3}Result: 0Case3: {}Result: 0Case 4:{1}Result: 1Case 5:{1,2}Re原创 2020-07-07 00:50:48 · 317 阅读 · 0 评论 -
菲波那切数列
防止明天没有时间或者忘了写,今天先写下吧。如果一对兔子每月生一对兔子;一对新生兔,从第二个月起就开始生兔子;假定每对兔子都是一雌一雄,试问一对兔子,一年能繁殖成多少对兔子?首先这个题目的设定是原来的一对兔子在一开始是新生的兔子,这样这对兔子在第二个月才能生下一对新的兔子(也就是第三个月开始,第二个月结束的时候 将其看作第三个月),这样第四个月 还是这对兔子又生下一对,一次可以看出f(n)=...原创 2014-03-12 22:37:43 · 1431 阅读 · 0 评论 -
杨辉三角
题目如下每日一练第三天:1.三角形的两条斜边上都是数字1,而其余的数都等于它肩上的两个数字相加;2.这个三角形具有对称性,与首末两端等距离的两个数相等;3.每一行的第二个数就是这行的列数;4.所有行的第二个数构成等差数列;5.第n行包含n+1个数 下面看这个三角形分析 可以知道,行数为length=n+1的规律,然后发...原创 2014-03-15 16:44:33 · 1319 阅读 · 0 评论 -
奇怪的等式
C/C++ 分式相等判断编程蓝桥杯2013年的省赛题目最近发现当时还是做错了题目:比如:(1/2)*( 5/4)=15/24 ;规律是:(i/j)*(a/b)=(10*i+a)/(10*j+b) ;对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算?忘了一个条件:显然,交换分子分母后,例如:4/1 乘以 5/8 是满足要求的,这算做不同的算式。原创 2014-11-28 15:55:14 · 1394 阅读 · 0 评论 -
六角填数
//六角填数//2015-03-12//287283991@qq.com#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;#define eps 10e-10#define N 15static int...原创 2015-03-12 10:23:10 · 1086 阅读 · 0 评论 -
一个数组变换的算法问题-关于前端的分页功能排序(点击/热门)功能
由于最近使用算法,所以算法用java来写的。(其实嘛,C写也是一样的)、我们所需要的算法原则 如下所示我们现在有一个数组 例如1 2 3 4 5 6 7 89 10 11 12现在的目的是将其转换为1 2 7 83 4 9 10 5 6 11 12现在也就是这样的原则将数组中的数字以6个位一组抽取出来 然后放到另外的一原创 2016-04-21 19:10:42 · 762 阅读 · 0 评论 -
插入排序算法
插入排序算法1. 简单介绍1.1 排序什么是排序?字如其意。就是将一串数字以一定的顺序排列。 排序是一个操作,也是一个事件。这便有“时间,地点,人物,起因,经过,结果”这事件的六大要素。在这个排序的过程中,这6个要素分别具体代表什么,下面容我慢慢分析。时间:算法消耗掉时间,通常有运行时间,编译时间,读取io数据的时间等等;地点:计算机内部;(很多时候是这样吧,当然也存在路由的情况)人物:操作原创 2016-12-17 22:44:57 · 894 阅读 · 0 评论 -
汉若塔
问题:有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问至少需要多少次移动? 这是一个典型的汉若塔问题首先基本上可以分成三个步骤(1) 先将A上面的n-1个盘子,移到B柱上(2) 然后把A上最大的一个盘子放到C上去(3) 然后把B上...原创 2014-03-12 16:33:26 · 1504 阅读 · 0 评论
分享