leetcode

【leetcode算法-简单】9. 回文数

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 11:59:15
【题目描述】 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-number 【 解答 】 解法一:将整数转化为字符串,判断字符串反转后是否与之前的相等    def isPalindrome(x)l: return str(x) == str(x)[::-1]   执行用时:60ms 解法二:计算出此整数的倒序整数n def isPalindrome(x): if x<0: return False num = x n = 0 while num: n = n*10 + num%10 num = num // 10 if n == x: return True else: return False   执行用时:101ms 判断一个整数是否是回文数。回文数是指正序(从左向右

[LeetCode] 908. Smallest Range I 最小区间

99封情书 提交于 2019-11-26 10:35:11
Given an array A of integers, for each integer A[i] we may choose any x with -K <= x <= K , and add x to A[i] . After this process, we have some array B . Return the smallest possible difference between the maximum value of B and the minimum value of B . Example 1: Input: A = [1], K = 0 Output: 0 Explanation: B = [1] Example 2: Input: A = [0,10], K = 2 Output: 6 Explanation: B = [2,8] Example 3: Input: A = [1,3,6], K = 3 Output: 0 Explanation: B = [3,3,3] or B = [4,4,4] Note: 1 <= A.length <= 10000 0 <= A[i] <= 10000 0 <= K <= 10000 Github 同步地址: https://github.com/grandyang/leetcode/issues/908

LeetCode:43. 字符串相乘(python)

依然范特西╮ 提交于 2019-11-26 06:54:09
LeetCode:43. 字符串相乘(python) 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例1 : 输入: num1 = “2”, num2 = “3” 输出: “6” 示例2 : 输入: num1 = “123”, num2 = “456” 输出: “56088” 说明 : num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 LeetCode 链接 分析 : 乘法规则 要求不能使用 int() 进行转换,我用的 ord(),通过字符串的 ASCII 编码来获取数字 附代码(Python3): class Solution : def multiply ( self , num1 , num2 ) : if num1 == '0' or num2 == '0' : return '0' res = 0 for i in range ( 1 , len ( num1 ) + 1 ) : for j in range ( 1 , len ( num2 ) + 1 ) : res += ( ord (

Leetcode算法Java全解答--43. 字符串相乘

痴心易碎 提交于 2019-11-26 06:53:13
Leetcode算法Java全解答–43. 字符串相乘 文章目录 Leetcode算法Java全解答--43. 字符串相乘 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例: 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输入: num1 = "123", num2 = "456" 输出: "56088" 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 想法 // TODO 结果 // TODO 总结 // TODO 代码 我的答案 public String multiply(String num1, String num2) { if("0".equals(num1) || "0".equals(num2)) return "0"; int len1 = num1.length(), len2 = num2.length(); int A[] = new int[len1

leetcode-43-字符串相乘(java)

夙愿已清 提交于 2019-11-26 06:52:37
title: leetcode-43-字符串相乘(java) date: 2019-09-10 18:18:03 categories: leetcode tags: leetcode 字符串相乘(java) 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = “2”, num2 = “3” 输出: “6” 示例 2: 输入: num1 = “123”, num2 = “456” 输出: “56088” 说明: num1 和 num2 的长度小于110。 num1 和 num2 只包含数字 0-9。 num1 和 num2 均不以零开头,除非是数字 0 本身。 不能使用任何标准库的大数类型(比如 BigInteger)或直接将输入转换为整数来处理。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/multiply-strings 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 尝试使用大数:我跪下了,使用long double都直接暴毙,因为这个题目的每一个数字的长度都小于110,那么侧面体现了这个数字很大 解法:使用小学那种行列式的写法,使用一个超长数组保存数字,后面转字符串进行切割就好了

收到华为offer后的阶段性总结

偶尔善良 提交于 2019-11-26 05:22:46
昨天收到了华为春招实习生的offer,总算是心中的石头落了下来,长舒一口气。写一篇阶段性的总结,来总结一下这段时间的一个学习的情况,以及下一个阶段应该做的一些事情和心中的一些小目标。 前阶段总结 - 把机器学习非常简单的过了一遍,并没有深挖。 - 小刷了下leetcode - 浅尝tensorflow的中文文档 反思 - 机器学习学的非常之不扎实,这是面试的基础 - cv真的什么都不会啊,被网易的笔试题虐到生活不能自理 - 项目太缺了啊我的妈 T。T 下一个阶段 - 好好撸一遍机器学习实战,个人觉得先代码再理论会好很多 - cv还是要搞的,深度学习还是要学的,数据分析数据挖掘不是我想要的啊 - leetcode撸起来 - 撸完实战,再去找李航,并且同步西瓜书 近期 - 水一个tensorflow的项目,报一下朱建科老师的实验室 - 开始每天撸实战,每天撸leetcode,无代码不欢 - 继续海投,继续寻找更多的offer - 加油 来源: CSDN 作者: 三年二班周杰伦 链接: https://blog.csdn.net/WhereYouSink/article/details/79723707

LeetCode做题第一天

左心房为你撑大大i 提交于 2019-11-26 00:13:07
LeetCode做题第一天 最近太过清闲,不是打游戏就是打游戏,编程学习的都快忘完了,从今天起,每天刷一道力扣题。 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 ~~这是一道简单题,整数翻转,刚开始还想着将输入整数转换为字符串,在转换为列表,然后将列表倒置......(纯粹瞎搞)~~ 直接转换到字符串就行了,将它倒置,然后用rstrip去除末尾的负号(如果有的话),然后用int()强制转换为数字,然后问题就变得有意思多了。判断输入的数字是正数还是负数,如果是正数就返回该数字,否则返回负的该数字,是不是很简单呢?具体实现代码如下(python3) class Solution: def reverse(self, x: int) -> int: s = str(x)[::-1].rstrip('-') if int(s) <2**31: if x >= 0: return int(s) else: return 0 - int(s) else: return 0 来源

刷了几千道算法题,这些我私藏的刷题网站都在这里了!

一个人想着一个人 提交于 2019-11-25 20:04:55
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网站放出来,让我们一起爽! 刷题,是这个世界上最有意思的事儿! 当然刷题不能乱爽,你要知道刷题要干嘛,是找工作面试、研究生复试机试,是参加程序设计竞赛还是为了提高自己,在这里我将这些分为三类:收割 offer 版、ACM 竞赛版和提高版。 0x00 收割 offer 版 不管是找工作笔试面试白板试进大厂,还是研究生参加初试复试机试,数据结构和算法都是绕不过去的坎,刷题就成了很多人的需求,快来看看下面这些网站,变身刷题机器,收割 offer 吧! 1、leetcode 英文网址:https://leetcode.com/ 中文网址:https://leetcode-cn.com/ 估计 leetcode(力扣)大家都很熟悉了,都被推荐烂了,很多国内外的程序员在上面刷题,难度从 Easy、Medium 至 Hard 都有,据说很多面试官都会从中挑选各种题目,号称大厂的筛码工。 我很早就知道