leepcode作业解析 - 5-19
18、两数之和II -输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。
函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
说明:
- 返回的下标值(index1 和 index2)不是从零开始的。
- 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。
示例:
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
解答:(这个代码时间超时了)
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
index1 = 1
for i in range(len(numbers)):
for j in range(len(numbers)):
if i < j:
if numbers[i] + numbers[j] ==target:
if i ==0 :
index1,index2 = index1,j+1
else:
index1,index2 = i+1,j+1
return (index1,index2)
19、求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋
的元素。
你可以假设数组是非空的,并且给定的数组总是存在众数。
示例 1:
输入: [3,2,3]
输出: 3
示例 2:
输入: [2,2,1,1,1,2,2]
输出: 2
解答:排序后去中间值(因为众数的元素必须是2n倍数,所以数组的元素每次都是奇数个,而众数又是数组中数量最多的元素,那么中间值肯定就是众数了。)
class Solution:
def majorityElement(self, nums: List[int]) -> int:
length= len(nums) ##求出数组的索引值长度
index = length // 2 ## 用取整来定位中间值的索引值
nums.sort() ##进行数组排序
return(nums[index])
20、有效的字母异位词
解答:用sorted()能自动按升序排序,并且将字符串按一个个字符串大小自动切分,再组成一个新列表
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
return (sorted(s)==sorted(t))
解二(用两个for循环后,时间超时)
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
s_list = []
t_list = []
for i in s:
s_list.append(i)
s_list.sort()
for j in t:
t_list.append(j)
t_list.sort()
return (s_list==t_list)
21、各位相加
给定一个非负整数 num
,反复将各个位上的数字相加,直到结果为一位数。
示例:
输入: 38
输出: 2
解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。
解答:
class Solution:
def addDigits(self, num: int) -> int:
while len(str(num)) > 1:
num = sum([int(i) for i in str(num) ])
return(num)
leepcode作业解析 - 5-19的更多相关文章
- leepcode作业解析-5-21
25.Nim游戏 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编 ...
- leepcode作业解析 - 5-20
22.缺失数字 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数. 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: ...
- leepcode作业解析-5-15日
1.删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外 ...
- 10月20日MySQL数据库作业解析
设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...
- 9月14日JavaScript循环语句作业解析
1.一张纸的厚度是0.0001米,将纸对折,对折多少次厚度超过珠峰高度8848米 解法一: var gd = 8848; var cs = 0; while(true) { cs++; gd = gd ...
- Bmp 解析 (2013-09-09 19:30:41)
bmp 图片结构 位图格式(bmp)是显示图片的基本格式,其文件扩展名为*.BMP. 在Windows下,任何各式的图片文件(包括视频播放)都要转化为位图才能显示出来,其他各种格式的图片文件是在位图格 ...
- 【OCP-12c】CUUG 071题库考试原题及答案解析(19)
1.choose the best answerWhat is the primary difference between the relational database (RDB) andobje ...
- Flink Connector 深度解析
作者介绍:董亭亭,快手大数据架构实时计算引擎团队负责人.目前负责 Flink 引擎在快手内的研发.应用以及周边子系统建设.2013 年毕业于大连理工大学,曾就职于奇虎 360.58 集团.主要研究领域 ...
- NLP教程(4) - 句法分析与依存解析
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-det ...
随机推荐
- go系列(1)- linux下安装go环境
安装GO 打开安装包下载地址,查看linux下go的最新版本 https://golang.google.cn/dl/ 经查看go的最新版本为go1.11.4.linux-amd64.tar.gz 右 ...
- 两句话跳转QQ聊天界面 通过web方式
NSString *qq=[NSString stringWithFormat:"]; NSURL *url2 = [NSURL URLWithString:qq]; if ([[UIApp ...
- PyAudio 实现录音 自动化交互实现问答
Python 很强大其原因就是因为它庞大的三方库 , 资源是非常的丰富 , 当然也不会缺少关于音频的库 关于音频, PyAudio 这个库, 可以实现开启麦克风录音, 可以播放音频文件等等,此刻我们不 ...
- crontab 在unix 没有执行。
Quote: 引用 2 楼 jdwq33 的回复: Quote: 引用 1 楼 mp777323 的回复: 03 * * * * sh /opt/pro_some.sh 我试过了,这样也不行,难道是我 ...
- jQuery取得/设置select的值
本来以为jQuery("#select1").val();是取得选中的值, 那么jQuery("#select1").text();就是取得的文本. 这是不正确 ...
- 图像处理库CImg
CImg 是一个用C++编写的开源数字图像处理库. 作者介绍 作者David Tschumperlé, 之前是法国La Rochelle大学的一名教授,现受雇于CNRS 图像组.据说作者从19 ...
- Gin框架body参数获取
需求: 记录所有请求的json数据 body, _ := ioutil.ReadAll(c.Request.Body) if body != nil { log.Info("请求body内容 ...
- HashMap之put方法流程解读
说明:本文中所谈论的HashMap基于JDK 1.8版本源码进行分析和说明. HashMap的put方法算是HashMap中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储 ...
- substring和substr,slice和splice
substring 和 substr 这二货都是针对字符串而言的,且都是返回一个副本,而不是在原字符串上直接操作. 上代码: var str = '0123456789'; console.log( ...
- SQLServer外键查询删除信息
SELECT FK.NAME,FK.OBJECT_ID,OBJECT_NAME(FK.PARENT_OBJECT_ID) AS REFERENCETABLENAMEFROM SYS.FOREIGN_K ...