算法题

以下是为您整理出来关于【算法题】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法题】技术教程文章

力扣算法题—050计算pow(x, n)【代码】

1 #include "000库函数.h"2 3 4 5 //使用折半算法 牛逼算法6 class Solution {7 public:8 double myPow(double x, int n) {9 if (n == 0)return 1; 10 double res = 1.0; 11 for (int i = n; i != 0; i /= 2) { 12 if (i % 2 != 0) 13 res *= x; 14 x *= x; 15 } 16 return n > 0 ? res : 1 / res; 17 } 18 19 }; 20 21 22 //同样使...

LeetCode算法题-Number of Lines To Write String(Java实现)【代码】

这是悦乐书的第319次更新,第340篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806)。我们要将给定字符串S的字母从左到右写成行。每行最大宽度为100个单位,如果写一个字母会导致该行的宽度超过100个单位,则会写入下一行。给出一个数组宽度,一个数组,其中widths[0]是a的宽度,widths[1]是b的宽度,widths[25]是z的宽度。 现在回答两个问题:S中至少有一个字符有多少行,最后一行使用的宽度是...

LeetCode算法题-Rotated Digits(Java实现)【代码】

这是悦乐书的第316次更新,第337篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788)。如果一个数字经过180度旋转后,变成了一个与原数字不同的数,这样的数被称为好数字。数字中的每一位都必须经过旋转。旋转的规则是:0,1,8这三个数旋转后还是自身,2旋转后变为5,5旋转后变为2,6旋转后变为9,9旋转后变为6,剩下的3,4,7旋转后并不能转成其他数字,是无效的。现在给出正数N,从1到N的好数字一...

力扣算法题—088扰乱字符串【二叉树】【代码】

给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。 下图是字符串 s1 = "great" 的一种可能的表示形式。great/ \gr eat/ \ / \ g r e at/ \a t在扰乱这个字符串的过程中,我们可以挑选任何一个非叶节点,然后交换它的两个子节点。 例如,如果我们挑选非叶节点 "gr" ,交换它的两个子节点,将会产生扰乱字符串 "rgeat" 。rgeat/ \rg eat/ \ / \ r g e at/ \a ...

LeetCode算法题-Jewels and Stones(Java实现)【代码】

这是悦乐书的第313次更新,第334篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771)。字符串J代表珠宝,S代表你拥有的石头。S中的每个字符都是你拥有的一种石头。计算S中有多少石头也是珠宝。J中的字符不会重复出现,J和S中的所有字符都是英文字母。字母区分大小写,因此“a”被认为是与“A”不同类型的石头。例如: 输入:J =“aA”,S =“aAAbbbb” 输出:3输入:J =“z”,S =“ZZ” 输出:0...

LeetCode算法题-Reach a Number(Java实现)【代码】

这是悦乐书的第310次更新,第331篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754)。你站在无限数字线的0号位置。在目的地有个target。在每次移动中,您可以向左或向右移动。在第n次移动(从1开始)期间,你可以走n步。返回到达目的地所需的最少步骤数。例如: 输入:target = 3 输出:2 说明:在第一步中,我们从0步进到1。在第二步,我们从1步骤到3。输入:target = 2 输出:3 说明:在第一步...

LeetCode算法题-Shortest Completing Word(Java实现)【代码】

这是悦乐书的第309次更新,第330篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第178题(顺位题号是748)。从给定的字典单词中查找最小长度单词,其中包含字符串licensePlate中的所有字母。据说这样的单词可以完成给定的字符串licensePlate。在这里,对于字母我们忽略大小写。例如,licensePlate上的“P”仍与单词上的“p”匹配。答案肯定存在。如果有多个答案,则返回数组中首先出现的答案。licensePlate可能会多次...

LeetCode算法题:买卖股票的最佳时机---python【代码】【图】

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。 示例 2: 输入: [7,6,4...

LeetCode算法题-Largest Number At Least Twice of Others(Java实现)【代码】

这是悦乐书的第308次更新,第328篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第177题(顺位题号是747)。在给定的整数数组中,总有一个最大的元素。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。例如: 输入:nums = [3,6,1,0] 输出:1 说明:6是最大的整数,对于数组x中的每个其他数字,6是x的两倍多。 值6的索引是1,所以我们返回1。输入:nums = [1,2,...

LeetCode算法题-Find Smallest Letter Greater Than Target(Java实现)【代码】

这是悦乐书的第306次更新,第326篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第175题(顺位题号是744)。给定一个仅包含小写字母的有序字符数组,并给定目标字母目标,找到数组中大于给定目标字符的最小元素。例如,如果目标是target =z并且letters = [a,b],则答案是a。例如: 输入:letters = [“c”,“f”,“j”],target =“a” 输出:“c” 输入:letters = [“c”,“f”,“j”],target =“c” 输出:“...