leepcode - 5-16
7、有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:
输入: "()"
输出: true
解答:
while '{}' in s or '()' in s or '[]' in s: ##判断字符串是否在列表S中
	s = s.replace('{}', '') ## 如果在,用空字符串替代
    s = s.replace('[]', '')
    s = s.replace('()', '')
return s == '' ## 进行逻辑判断
8、移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
示例 1:
给定 nums = [3,2,2,3], val = 3,
函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。
你不需要考虑数组中超出新长度后面的元素。
解答:
j = 0  ##进行一个赋值
for i in range(len(nums)):
	if nums[i] != val: ##如果列表里的值不等于val
    	nums[j] = nums[i] ## 将i所代表的值,赋给j
        j +=1  ##在进行一次循环
return(j)
9、搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2
解答:
for i in range(len(nums)):
	if nums[i] == target: ##如果数组中的值等于目标值
    	return (i)  ##返回值所对应的索引值
    else:
        nums.append(target) ##如果数组中的值不等于目标值,则将目标值加入到列表中
        nums.sort() ## 对列表进行重新排序
        break
return (nums.index(target)) ##获取到目标值所在的索引值
10、最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
解答:
for i in range(len(nums)):
    nums[i] = nums[i]+max(nums[i-1],0) ##nums[i-1]并不是数组前一项的意思,
    # 而是到前一项为止的最大子序和,和0比较是因为只要大于0,就可以相加构造最大子序和。
    # 如果小于0则相加为0,nums[i]=nums[i],相当于最大子序和又重新计算。其实是一边遍历一边计算最大序和
print(max(nums))
11、最后一个单词的长度
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: "Hello World"
输出: 5
if not s:
   return 0
s1 = s.split()
   if not s1:
      return 0
return len(s1[-1])
leepcode - 5-16的更多相关文章
- 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误
		1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8 在安装的时候报错: -1ubu1604-amd64.deb 提示: ... 
- Ubuntu 16.10 安装KolourPaint 4画图工具
		KolourPaint 4画图工具简单实用,可以绘画.视频处理和图标编辑: • 绘画:绘制图表和“手绘” • 视频处理:编辑截图和照片;应用特效 • 图标编辑:绘画剪贴和标识透明化 1.在Ubuntu ... 
- 真正的汉化-PowerDesigner 16.5 汉化
		一.背景 经常使用PowerDesigner,之前使用15版本,后来16出来后,就一直在使用16,不过一直是英文.一些同事对使用英文版总显示有些吃力. 遍寻百度.必应,都没有找到真正的针对版本16的汉 ... 
- Win7安装MySQL-5.7.16过程
		1.在C盘新建MYSQL文件夹:2.将mysql-5.7.16-winx64拷贝到C:\MYSQL文件夹下,更名为mysql-5.7.16:3.在mysql-5.7.16目录下,建my.ini文件,内 ... 
- 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码
		不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 ... 
- 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题
		企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ... 
- ABP(现代ASP.NET样板开发框架)系列之16、ABP应用层——数据传输对象(DTOs)
		点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之16.ABP应用层——数据传输对象(DTOs) ABP是“ASP.NET Boilerplate Project ... 
- 安装MYSQL详细教程 版本:mysql-installer-community-5.7.16.0 免安装版本和安装版本出现错误的解决
		一.版本的选择 之前安装的Mysql,现在才来总结,好像有点晚,后台换系统了,现在从新装上Mysql,感觉好多坑,我是来踩坑,大家看到坑就别跳了,这样可以省点安装时间,这个折腾了两天,安装了好多个版本 ... 
- C#开发微信门户及应用(16)-微信企业号的配置和使用
		在本系列随笔的前面,主要就是介绍微信公众号的门户应用开发,最近把整个微信框架进行了扩展补充,增加了最新的企业号的API封装和开发,后续主要介绍如何利用C#进行微信企业号的开发工作,本篇作为微信企业号的 ... 
- 16款最佳的 jQuery Time Picker 时间选择插件
		jQuery 插件可以为你做许多事情,你可以很容易地把这些插件集成到您的网站.网络上的 jQuery 日期选择器和日历插件很多,但找不到很满意的时间选择器插件. 在这里,我们收集了最好的一组 jQue ... 
随机推荐
- 推荐 VS2010入门教程—鸡啄米
			http://www.jizhuomi.com/catalog.asp?tags=VS2010 推荐 VS2010入门教程—鸡啄米,真的非常使用和经典! 
- BOM主要对象属性方法总结
			BOM window对象 浏览器实例,全局对象 1.窗口位置: screenTop,screenLeft(screenX,screenY):窗口相对于屏幕左边和上边的位置 moveTo(x,y):将窗 ... 
- rpm与yum安装软件包
			首先,禁止用yum卸载删除软件包: 而应该使用rpm删除软件包 rpm qa | grep 软件包名 rpm -e --nodeps 要卸载的软件包 
- AKOJ-1265-输出二叉树
			链接:https://oj.ahstu.cc/JudgeOnline/problem.php?id=1265 题意: 我们知道二叉树的先序序列和中序序列或者是中序和后序能够唯一确定一颗二叉树.现在给一 ... 
- Ubuntu下修改权限时出现"unable to execute /bin/chmod: Argument list too long"
			Ubuntu14.04下修改权限时出现"unable to execute /bin/chmod: Argument list too long" ,大概意思是卧槽,你这参数也 ... 
- SSAS中处理时经常出现的几种错误
			1.[重复属性键的错误]"处理时找到重复的属性键" 当在[属性关系]里指定属性关系后, 就出出现此错误,因为不知道Month值“1”,并不知道是属于哪一年的, 所以需要 ... 
- [转]依赖注入框架Autofac的简单使用
			本文转自:http://www.nopchina.net/post/autofac.html 话说nopcommerce底层用到了autofac框架,这里转了一篇文章简单说明一下: Autofac是一 ... 
- Spring框架学习——AOP的开发
			一.AOP开发中的相关术语. ——JoinPoint(连接点):指那些可以被拦截到的点.比如增删改查方法都可以增强,这些方法就可以被称为是连接点. ——PointCut:切入点,真正被拦截的点,指对哪 ... 
- jQuery的基本使用及选择器和筛选器
			回顾 事件 鼠标clickdblclickcontextmenumouseentermouseleavemousemovemousedownmouseup键盘keydownkeyupkeypress ... 
- poj2135 最小费用流
			添加超级源点(与点1之间的边容量为2,权值为0)和超级汇点(与点N之间的边容量为2,权值为0),求流量为2的最小费用流.注意是双向边. #include <iostream> #inclu ... 
