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

【Leetcode-121.买卖股票的最佳时机 -125.验证回文串】

Leetcode-121.买卖股票的最佳时机 题目:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。...输入:[7, 1, 5, 3, 6, 4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6 - 1 = 5 。...这道题的思路如果使用两次循环,会超出时间限制;所以这道题的思路是贪心法,我对贪心法的理解是,遇到哪个大/小的,即符合条件的,就把之前的值换掉,更新成当前大/小的值; int maxProfit(int...我们的思路是双指针,一个从前往后遍历,一个从后往前遍历,首先定义一个函数过滤非字母数字字符,比较过滤后的字符是否相等,相等返回true,否则返回false;一定要注意:是非字母数字字符!!...字母和数字都属于字母数字字符!还有一定要保证过滤完非字母数字字符再比较!!!

9410

【力扣算法11】之 8. 字符串转换整数 (atoi) python

读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。...读取数字字符并转换为整数:遍历字符串s的每个字符,判断是否为数字字符,如果是则将其转换为整数并累加到result中;如果遇到非数字字符,则跳出循环。...如果字符串 s 非空,并且第一个字符是正号或负号,则根据符号字符决定 sign 的值。如果第一个字符是负号,则将 sign 赋值为 -1,并将剩下的字符串赋给变量 s。...如果遇到非数字字符,跳出循环。这样可以逐个读取字符串中的数字字符,并计算出对应的整数值。 处理溢出情况:将 result 乘以符号位 sign,得到处理后的结果。...它处理了输入字符串的空格、符号和非数字字符,以及整数溢出的情况,并返回相应的结果。

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

    几道 BAT 算法面试中经常问的「字符串」问题

    String 作为最常见的编程语言类型之一,在算法面试中出现的频率极高。 1. 验证回文串 题目来源于 LeetCode 第 125 号问题:验证回文串。...这道题目是 初级程序员 在面试的时候经常遇到的一道算法题,而且面试官喜欢面试者手写! 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。...如果遇到非字母数字的字符就跳过,继续往下找,直到找到下一个字母数字或者结束遍历,如果遇到大写字母,就将其转为小写。...题目描述 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。...,区分合法值0和非法值0。

    81020

    几道 BAT 算法面试中经常问的「字符串」问题

    String 作为最常见的编程语言类型之一,在算法面试中出现的频率极高。 1. 验证回文串 题目来源于 LeetCode 第 125 号问题:验证回文串。...这道题目是 初级程序员 在面试的时候经常遇到的一道算法题,而且面试官喜欢面试者手写! 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。...如果遇到非字母数字的字符就跳过,继续往下找,直到找到下一个字母数字或者结束遍历,如果遇到大写字母,就将其转为小写。...题目描述 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。...,区分合法值0和非法值0。

    90620

    精读《DOM diff 最长上升子序列》

    这里有个经验,就是动规一般 DP 返回值就是答案,字符串问题常常是以第 i 个字符串结尾,这样扫描一遍即可。...具体方案就一句话:用栈结构,如果值比栈内所有值都大则入栈,否则替换比它大的最小数,最后栈的长度就是答案: 先解释下时间复杂度,因为操作原因,栈内存储的数字都是升序的,因此可以采用二分法比较与插入,复杂度为...所以问题就是,遇到下一个数字要怎么处理,才不至于在未来产生鼠目寸光的情况,要 “抓住稳稳的幸福”。...即,只要栈没有被替换完,新插入的值永远只起到一个占位作用,目的是为了让新来的值好插入,但如果真的没有新来的值可插入了,那虽然栈内容不对,但至少长度是对的,因为 9 在没替换完的时候其实不是 9,它只是一个占位...讨论地址是:精读《DOM diff 最长上升子序列》· Issue #310 · dt-fe/weekly 版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证)

    35850

    【Day23】力扣:LeetCode算法刷题

    CSDN话题挑战赛第2期 参赛话题:学习笔记 刷题打卡,第 二十三 天 题目一、927. 三等分 题目二、415....三等分 题目描述: 给定一个由 0 和 1 组成的数组 arr ,将数组分成 3 个非空的部分 ,使得所有这些部分表示相同的二进制值。...这三个部分所表示的二进制值相等。 如果无法做到,就返回 [-1, -1]。 注意,在考虑每个部分所表示的二进制时,应当将其看作一个整体。例如,[1,1,0] 表示十进制中的 6,而不会是 3。...1,1,0,0,1] 输出:[0,2] / 提示: 3 <= arr.length <= 3 * 104 arr[i] 是 0 或 1 解题思路: 为了解决问题,我们需要将二进制数组分成三份,让它们非空且可以表示一样的值...如果sum不能被平均分成三等份,可以证明此二进制数组没办法分成三份表示相同值得二进制数,可以直接返回数组{-1,-1}; 当数组中没有出现数字1,也就是sum = 0,无论我们如何分配,都能获取到三份非空的

    25120

    C语言之scanf浅析

    它的原型定义在头文件stdio.h 。 scanf()的语法跟pritnf()类似。...解读用户输入时,会从上⼀次解读遗留的第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件的字符为止。...如果⼀个数字都不输⼊,直接按3次 ctrl+z ,输出的r是-1,也就是EOF 3.多组输入 //多组输入 #include int main() { int a = 0, b =...• %s :字符串,从非空字符开始读取,遇到空白字符停止。 • %[] :在方括号中指定⼀组匹配的字符(数字字符,比如 %[0-9] ),遇到不在集合之中的字符,匹配将会停止。...它的规则是,从当前第⼀个非空白字符开始读起,直到遇到空⽩字符(即空格、换⾏符、制表符等)为⽌。 因为 %s 不会包含空白字符,所以无法用来读取多个单词,除非多个 %s ⼀起使用。

    10310

    深入了解JS 数据类型

    它内部方法,将任意值转换成原始值,转换规则如下: preferedType为string: 先调用obj的toString方法,如果为原始值,则return,否则进行第2步 调用obj的valueOf方法...,如果为原始值,则return,否则进行第3步 抛出TypeError 异常 preferedType为number: 先调用obj的valueOf方法,如果为原始值,则return,否则进行第2步 调用...不同内置对象的valueOf实现: String => 返回字符串值 Number => 返回数字值 Date => 返回一个数字,即时间值 Boolean => 返回Boolean的this值 Object...当一个值为字符串,另一个值为非字符串,则后者转为字符串。...什么时候转 Number 加法操作时,遇到非字符串的基本类型,都会转Number(「除了加法运算符,其他运算符都会把运算自动转成数值。」)

    1.9K10

    【007期】JavaSE面试题(七):异常

    Error(错误): 系统中的错误,是在程序编译时出现的错误,只能通过修改程序才能修正。一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等。...遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。 Q: 写出你最常见的 5 个 RuntimeException?...(3)java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。...代码在走到第 3 行的时候遇到了一个 MathException,这时第四行的代码就不会执行了,代码直接跳转到 catch语句中,走到第 6 行的时候,异常机制有这么一个原则如果在 catch 中遇到了...因此代码又跳到第 8 行,可惜第 8 行是一个return 语句,那么这个时候方法就结束了,因此第 6 行的返回结果就无法被真正返回。

    39610

    被字节”装“到了,只要你能看”完“这题目,就算你过?

    读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。 将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。...步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+') ^ 第 3 步:"4193 with words"(读入 "4193";由于下一个字符不是一个数字...:条件2在暗示我们要注意开头的"+"和"-" 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。...条件3在提示我们遇到了 非数字就结束解析 将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。如果没有读入数字,则整数为 0 。...\d*) 匹配符号和数字 step2和step3 3. \D*非数字解析 */ const match = s.match(/^\s*([\+-]?

    36320

    检查 JavaScript 变量是否为数字的几种方式

    字符串形式的数字例如 "100" 不应该被处理,同时在 JavaScript中 NaN,Infinity 和 -Infinity 之类的特殊值也都是数字,不过我们将忽略这些值。...它在遇到 NaN, Infinity 或者 -Infinity 时会返回 false。...特殊的数字值以及所有非数字类型的变量都将会被忽略。如果想要检查某个变量是否为数字, Number.isFinite() 函数是最好的选择。...由于我们要检查变量是否为数字,所以需要在检查中要使用非运算符 !。 现在看看通过非运算符加 Number.isNaN() 函数能否只过滤数字: > !...尽管从技术角度上来说这是正确的,但 NaN 和 Infinity 是特殊的数字值,我们在大多数情况下都会忽略它们。 总结 本文研究了如何检查 JavaScript 中的变量是否为数字。

    2.8K41

    python 3.2 字符串方法学习总结

    若字符串包含空格、下划线、~等非文字数字式字符,均返回False。...它实际的意思是,从原字符串的最左边开始,匹配chars里包含的所有字符,直至遇到第一个非chars字符为止,原字符串中匹配到的所有字符都被移除。...-->example.com 从字符串的最左边开始匹配,直至遇到了非chars字符e为止,一共匹配了3个w字符和一个.字符,遇到e匹配结束。...实际上不然,因为制表符的制表位是从每行开头算起的,所以第三个制表符的制表位是从行首开始的第24个位置,刚好在is的i前面,而不是从this后面开始算的第8个位置。这就是所谓的共同决定。...如果传入一个非iterable对象,如整数、布尔值等,将返回Type Error。

    1.1K20

    2021-08-07:与数组中元素的最大异或值。给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其

    2021-08-07:与数组中元素的最大异或值。给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。...第 i 个查询的答案是 xi 和任何 nums 数组中不超过 mi 的元素按位异或(XOR)得到的最大值。...返回一个整数数组 answer 作为查询的答案,其中 answer.length == queries.length 且 answer[i] 是第 i 个查询的答案。...数组的元素的二进制,前缀树存最小值。 代码用golang编写。...// 请返回哪个数字与X异或的结果最大,返回最大结果 // 但是,只有数字,可以被考虑 func (this *NumTrie) maxXorWithXBehindM(x int, m int

    79330

    《非诚勿扰》中的37%法则

    在现实中,面对男生们前仆后继的表白,女生们也少不了这样的纠结。如果遇到了一个优秀的男生,应该接受还是拒绝呢?...接着孟非老师说,“这是我这么多年以来,在北京主持《非诚勿扰》这个节目,第二次男嘉宾和台下女生牵手成功,在南京主持那么多期节目,从来没有这样牵手成功的案例,看来我们北京的观众比南京的观众积极热情呀!”。...去向《非诚勿扰》的黄菡老师和乐嘉老师请教一下?其实你还可以向欧拉老师请教一下。你没听错。大数学家欧拉对一个神秘的数学常数 e ≈ 2.718 深有研究,这个数字和“拒人问题”竟然有着直接的联系。...这就变成了一个纯数学问题:在男生总数 n 已知的情况下,当 k 等于何值时,按上述策略选中最佳男生的概率最大? 如何求出最优的 k 值?...对于某个固定的 k,如果最适合的人出现在了第 i 个位置,有 ? 用 x 来表示 k/n 的值,并且假设 n 充分大,则上述公式可以写成: ?

    95920
    领券