给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""for m in range (len(nums)):for n in range (m+1,len(nums)):if nums[m]+nums[n]==target:return [m,n]

def twoSum(nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""d = {}for i, item in enumerate(nums):tmp = target - itemfor key, value in d.items():if value == tmp:return [key, i]d[i] = itemreturn None

class Solution:def isPalindrome(self, x: int) -> bool:if str(x)[::-1]==str(x):return Trueelse:return False

class Solution:def romanToInt(self, s: str) -> int:roman_dic={'I':1, 'IV':3, 'V':5, 'IX':8, 'X':10, 'XL':30, 'L':50, 'XC':80, 'C':100, 'CD':300, 'D':500, 'CM':800, 'M':1000}roman_sum=0return sum(roman_dic.get(s[max(i - 1, 0):i + 1], roman_dic[n]) for i, n in enumerate(s))## for i,n in enumerate(s):#     roman_sum+=roman_dic.get(s[max(i - 1, 0):i + 1], roman_dic[n])# return roman_sum

class Solution:def longestCommonPrefix(self, strs: List[str]) -> str:res=""for tmp in zip(*strs):tmp_set=set(tmp)if len(tmp_set)==1:res+=tmp[0]else:breakreturn res

class Solution:def addStrings(self, num1: str, num2: str) -> str:add=0res=""new_num1=num1[::-1]new_num2=num2[::-1]if len(new_num1)>len(new_num2):new_num2+="0"*(len(new_num1)-len(new_num2))else:new_num1+="0"*(len(new_num2)-len(new_num1))n=max(len(new_num1),len(new_num2))for i in range(n):tmp=int(new_num1[i])+int(new_num2[i])+addres+= str(tmp%10)add=int(tmp/10)if add!=0:res+=str(add)# 这里的if处理:当两个数相加为10或者100时,当最后一个add=1时,把进位打出来return res[::-1]

思路:

  

我们可以对bits 数组从左到右扫描来判断最后一位是否为一比特字符。当扫描到第 i 位时,如果 bits[i]=1,那么说明这是一个两比特字符,将 i 的值增加 2。如果 bits[i]=0,那么说明这是一个一比特字符,将 i 的值增加 1。

如果 i 最终落在了 bits.length-1 的位置,那么说明最后一位一定是一比特字符。

class Solution:def isOneBitCharacter(self, bits) -> bool:i=0if len(bits) == 1:return Truewhile i<(len(bits)-1):if bits[i]==0:i+=1elif bits[i]==1:i+=2if i==len(bits):return Falseelse:return True

  


转载于:https://www.cnblogs.com/panpan0301/p/10079750.html

leetcode刷题--python相关推荐

  1. LeetCode刷题Python实录

    使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...

  2. 【Leetcode刷题Python】40. 组合总和 II

    1 题目 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每 ...

  3. 【Leetcode刷题Python】494. 目标和

    1 题目 给你一个整数数组 nums 和一个整数 target . 向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums = [2, 1] ,可 ...

  4. 【Leetcode刷题Python】516. 最长回文子序列

    1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...

  5. 【代码】LeetCode刷题Python版

    python版LeetCode 算法部分 811. 子域名访问计数 class Solution:def subdomainVisits(self, cpdomains):""&q ...

  6. 【Leetcode刷题Python】714. 买卖股票的最佳时机含手续费

    1 题目 给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 :整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付手续费.如果你已经 ...

  7. 【Leetcode刷题Python】55. 跳跃游戏

    1 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: 输入:nums = [2 ...

  8. 【Leetcode刷题Python】生词本单词整理

    1 题目 小A最近在努力学习英语.小A有一本生词本,专门用来记录见到的生词.每次小A看到一个自己不认识的单词时,就会把这个生词抄写到生词本上.经过几个月的学习之后,小A想对这个生词本上的单词进行整理. ...

  9. 【Leetcode刷题Python】416. 分割等和子集

    1 题目 给你一个 只包含正整数 的 非空 数组 nums .请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 示例 1: 输入:nums = [1,5,11,5] 输出:true ...

  10. 【Leetcode刷题Python】174. 地下城游戏

    1 题目 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...

最新文章

  1. 插入排序 - 二分插入排序
  2. CentOS 6.4 配置LAMP 环境 与安装 phpmyadmin
  3. Android平台上使用属性系统(property system)
  4. 如何判断SAP CDS view的association是inner join还是outer join实现的
  5. Stacktraces告诉了事实。 但事实并非如此。
  6. 什么是python标识符_Python:标识符Identifier
  7. C++析构函数与构造函数深拷贝浅拷贝(C++初学面向对象编程)
  8. 【渝粤教育】国家开放大学2018年秋季 1117t机电控制与可编程序控制 参考试题
  9. springboot集成logback配置文件模板
  10. 谷歌浏览器的前端代码调试
  11. 浅谈大学公寓智能用电管理系统方案
  12. 局域网内计算机无法ping通,局域网内目标主机无法ping通怎么处理 局域网内目标主机无法ping通如何解决...
  13. [转载]在Java应用程序中访问USB设备
  14. 网格计算和云计算之间的比较
  15. sql1428N错误
  16. 闰秒 mysql_闰秒导致MySQL服务器的CPU sys过高
  17. 活动回顾 |阿里云MVP Tech Show 第九期宁波站— 物联网一站式开发
  18. pytorch的transform中ToTensor接着Normalize
  19. CentOS7转发非3306端口到3306端口
  20. hour:24小时制和12小时制

热门文章

  1. 3月7日学习内容整理:restframework的解析器组件
  2. 手把手搭建WAMP+PHP+SVN开发环境
  3. eclipse中设置JVM内存
  4. VMware知识库中文文章列表 (更新2013年6月)
  5. mysql主从同步开启后的iptables的设定问题
  6. 简单易懂的Android ROM定制与修改教程
  7. 使用srvany.exe把程序安装成windows服务的方法
  8. 添加Centos缺失的命令
  9. IDEA SpringBoot工程配置热部署
  10. android判断进程是否是意外退出