力扣(leetcode)题库0001-python3
试一下leetcode的题库,不知道对于我这种小白要多长时,但是目标已经种下,去做就是了。You can do anything you set your mind to.
题目:题库链接
中:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
英:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same element twice.
解答思路:
1. 两重for循环,遍历数组中所有的数。我就是这么做的,做完后感觉不是特别舒服,总感觉如果我自己是计算机的话,就恰似吃到了一道不是很美味的菜。
优:简单上手
缺:运行耗时
def twoSum(nums, target) :
for i in range(0, len(nums)):
for j in range(i + 1, len(nums)):
if nums[i] + nums[j] == target:
return(i, j)
2. 哈希表,利用键值对来进行求解,第一个循环是更新过后了的字典,即无重复的键,第二个循环先得到所有的值与下标,然后拿target减去这个值,得到所需要的 j,再排除这个数是空值和它本身的可能,返回解
优:运算时间降低
缺:我太菜了,找不出来
def twoSum(nums,target):
hashmap = {}
for ind,num in enumrate(nums):
hashmap[num] = ind
for i, num in enumrate(nums):
j = hashmap.get(target - num)
if j is not None and i != j:
return [i,j]
3.哈希表,利用键值对求解,相比上面的算法易懂一些,即从前向后进行循环时,先利用else操作,把前面的数先写进字典,再由后面的循环在d中找到target-nums[x](这个数是由之前的else操作写入
的)的时候,返回这两个下标。
优:运算时间降低
缺:我太菜了,找不出来
def twoSum(nums,target):
d = {}
n = len(nums)
for x in range(n):
if target - nums[x] in d:
return d[target - nums[x]], x
else:
d[nums[x]] = x
题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
力扣(leetcode)题库0001-python3的更多相关文章
- Python解答力扣网站题库简单版----第三讲
1041. 困于环中的机器人 题库链接: 1041. 困于环中的机器人. 题干 在无限的平面上,机器人最初位于 (0, 0) 处,面朝北方.机器人可以接受下列三条指令之一: "G" ...
- 力扣Leetcode 179. 最大数 EOJ 和你在一起 字符串拼接 组成最大数
最大数 力扣 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说 ...
- 力扣Leetcode 45. 跳跃游戏 II - 贪心思想
这题是 55.跳跃游戏的升级版 力扣Leetcode 55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃 ...
- leetcode题库
leetcode题库 #题名题解通过率难度出现频率 1 两数之和 46.5%简单2 两数相加 35.5%中等3 无重复字符的最长子串 31.1%中等4 寻找两个有序数组的中位 ...
- LeetCode题库整理(自学整理)
1. Two Sum 两数之和 来源:力扣(LeetCode) 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利 ...
- 力扣50题 Pow(x,n)
本题是力扣网第50题. 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 采用递归和非递归思路python实现. class Solution: #递归思路 def myPow_recurs ...
- 【力扣leetcode】-787. K站中转内最便宜的航班
题目描述: 有 n 个城市通过一些航班连接.给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 p ...
- 力扣算法题—069x的平方根
实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 示例 ...
- 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
面试题56 - I. 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 ...
- leetcode题库解答源码(python3)
下面和大家分享本人在leetcode上已经ace的题目源码(python3): 本人会持续更新!- class Leetcode_Solution(object): def twoSum_1(self ...
随机推荐
- 蚂蚁感冒【第五届蓝桥杯省赛C++A/B组】
蚂蚁感冒 长 \(100\) 厘米的细长直杆子上有 \(n\) 只蚂蚁. 它们的头有的朝左,有的朝右. 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒. 当两只蚂蚁碰面时,它们会同时掉头往相反的方 ...
- windows11预览版装WSA心得
这两天心血来潮想要装个WSA(安卓windows子系统),原来一直用的安卓模拟器(mumu啊蓝叠啊逍遥啊),但感觉像wsa这种安卓系统与主系统融合的模式更带感,于是开始了我艰苦的安装(瞎捯饬)之路 我 ...
- 网络爬虫及openyxl模块
网络爬虫及openyxl模块 一.第三方模块简介 1.第三方模块的用处 python之所以在这么多的编程语言中脱颖而出的优点是有众多的第三方库函数,可以更高效率的实现开发 2.第三方模块的使用 1.第 ...
- elasticsearch中使用runtime fields
1.背景 在我们使用es的开发过程中可能会遇到这么一种情况,比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型,但是后期发现需要使用这个字段来进行聚合操作,那么我 ...
- 【推荐】MySQL数据库设计SQL规范
1 命名规范 1.[强制]库名.表名.字段名必须使用小写字母并采用下划线分割,禁止拼音英文混用:(禁用-,-相当于运算符) 2.[建议]库名.表名.字段名在满足业务需求的条件下使用最小长度: 如inf ...
- 前端基础知识-js(一)个人学习记录
待补充: https://www.ruanyifeng.com/blog/javascript/ 运行验证: https://www.jsrun.net/new 以下仅为个人理解,如有误请指正,非常感 ...
- 芯片下载相关-CH32系列芯片下载方式汇总及教程
一.CH32Fx系列芯片下载 1.ISP下载: 2.SWD下载 3.脱机烧录器下载: 二.CH32Vx系列芯片下载 1.ISP下载: 2.SWD下载: 3.脱机烧录器下载: 4.CH32V003下载注 ...
- java反序列化基础
前言:最近开始学习java的序列化与反序列化,现在从原生的序列化与反序列化开始,小小的记录一下 参考文章:https://blog.csdn.net/mocas_wang/article/detail ...
- element-UI el-table动态显示隐藏列造成固定一侧的列(fixed=“left/right“)错误显示
问题原因:多个tabs共用一个实体,动态显示隐藏列 出现了固定在右侧的列(fixed="right")错位 [解决方案] 表格的重新布局,只要table数据发生变化的时候就重新渲染 ...
- STM32F1库函数初始化系列:串口DMA空闲接收_DMA发送
1 void USART3_Configuration(void) //串口3配置---S 2 { 3 DMA_InitTypeDef DMA_InitStructure; 4 USART_InitT ...