class Solution:def fib(self, n):if n==0:return 0if n==1:return 1else:return self.fib(n-1) + self.fib(n-2)

法一:暴力
class Solution:def threeSumClosest(self, nums, target):n = len(nums)if n==3:return sum(nums)# 三数和与目标数差值sumClosest = 10**4 + 10**3 + 1threeSum = 0for i in range(n):for j in range(i+1,n):for k in range(j+1,n):threeS = nums[i] + nums[j] + nums[k]if threeS == target:return targetelse:temp = abs(target - threeS)if temp < sumClosest:threeSum = threeSsumClosest = tempreturn threeSum法二:(受四数和启发)
class Solution:def threeSumClosest(self, nums, target):n = len(nums)if n==3:return sum(nums)# 三数和与目标数差值sumClosest = 10**4 + 10**3 + 1towSum = dict()for i in range(n):for j in range(i+1,n):if (nums[i] + nums[j]) not in towSum.keys():towSum[nums[i] + nums[j]] = [[i,j]]else:towSum[nums[i] + nums[j]].append([i,j])
#         三数和ps = 0
#         遍历原始数据列表for k in range(n):for t in towSum:s = nums[k] + t# 如果存在,且三个数坐在列表位置不同,直接返回targetif s == target:for p in towSum[t]:threeSet = set(p)threeSet.add(k)if len(threeSet) == 3:return target# 如果不存在else:# 找出三数与目标数最小差值,并返回三数for p in towSum[t]:threeSet = set(p)threeSet.add(k)if len(threeSet) == 3:temp = abs(s - target)if temp < sumClosest:#                             print(temp)sumClosest = tempps = sreturn ps

法一:

法二:

# 法一
class Solution:def search(self, nums, target):for i,num in enumerate(nums):if num == target:return ireturn -1# 法二
class Solution:def search(self, nums, target):if target in nums:return nums.index(target)else:return -1

法一:

法二:

class Solution:def searchRange(self, nums, target):n = len(nums)if target not in nums:return [-1,-1]result = []count = nums.index(target)result.append(count)if count+1 == n:result.append(count)for i in range(count+1,n):if nums[i] == target:if i == n-1:result.append(i)continueelse:result.append(i-1)breakreturn result



class Solution:def isValidSudoku(self,board):for i in range(3):for j in range(3):tempList = []tempList += board[j*3][i*3:i*3+3]tempList += board[j*3 + 1][i*3:i*3+3]tempList += board[j*3 + 2][i*3:i*3+3]tempList = [t for t in tempList if t!='.']if len(tempList) != len(set(tempList)):return Falsefor i in range(9):tempList = [b for b in board[i] if b!='.']if len(tempList) != len(set(tempList)):return Falsefor j in range(9):tempList = [b[j] for b in board if b[j]!='.']if len(tempList) != len(set(tempList)):return Falsereturn True

class Solution:def firstMissingPositive(self, nums):nums = sorted(nums)n = len(nums)count = 0
#         count_begin = 0for i in range(n):if nums[i] > 0:count = ibreaknums = nums[count:]# 去重后数组numsList = []# 去重操作for num in nums:if num not in numsList:numsList.append(num)n = len(numsList)for i in range(n):if numsList[i] != i+1:return i+1count = i+1return count + 1

class Solution:def multiply(self, num1, num2):return str(int(num1)*int(num2))


class Solution:def rotate(self, matrix):"""Do not return anything, modify matrix in-place instead."""n = len(matrix)d = []for i in range(n):d.append([m for m in matrix[i]])for di in range(n):for j in range(n):matrix[j][n-1-di] = d[di][j]return matrix

class Solution:def groupAnagrams(self, strs):d = dict()n = len(strs)countList = [0]*nfor s in strs:if s not in d.keys():d[s] = dict()countList[strs.index(s)] = 1for di in s:if di not in d[s].keys():d[s][di] = 1else:d[s][di] += 1else:countList[strs.index(s)] += 1strsList = []# 去重for value in d.values():if value not in strsList:strsList.append(value)resultList = []count = 0for val in strsList:resultList.append([])for dd in d:if d[dd] == val:for c in range(countList[strs.index(dd)]):resultList[count].append(dd)count += 1return resultList

LeetCode T509 T16 T33 T34 T36 T41 T43 T48 T49相关推荐

  1. Google Test(GTest)使用方法和源码解析——模板类测试技术分析和应用

    写C++难免会遇到模板问题,如果要针对一个模板类进行测试,似乎之前博文中介绍的方式只能傻乎乎的一个一个特化类型后再进行测试.其实GTest提供了两种测试模板类的方法,本文我们将介绍方法的使用,并分析其 ...

  2. MD5算法的编程实现

    MD5算法的编程实现 [实验目的] [实验环境] [实验预备知识点] [实验内容] [实验步骤] [实验思考题] [实验目的] 1.理解Hash函数的计算原理和特点. 2.理解MD5算法原理. 3.了 ...

  3. C语言实现MD5加密算法

    转载声明:http://blog.csdn.net/haroroda/article/details/45935099 这次我分享的是MD5加密算法.其实MD5这个大名在还没上密码学课之前我就听说过了 ...

  4. 使用matlab制作音乐

    一.一些音乐基础 1.认识简谱 简谱中最重要的信息就是曲调.节拍,位于简谱左上角, 如图中的1=G,是以G调为基准频率,即1对应G调,其他常见的还有1=C等, 4/4为一节4个1/4拍,一节则为一个短 ...

  5. 【STM32标准库】【自制库】0.96寸OLED显示屏(SSD1306)(2)全屏动画显示

    文章目录 链接 需求分析 取模 pr操作 修改大小 python操作 显示动画 前期准备 动画帧发送 动画实现 成品 文章基于适用于STM32F4系列,作者使用STM32F401CCU6开发板. 本文 ...

  6. 运动学与雅可比矩阵举例

    以三连杆平面机械臂为例,来说明D-H矩阵和雅可比矩阵的求法,并且比较后置法和前置法的异同和运动学末端位姿的一致性和雅可比矩阵的一致性. 一. 后置法. (1).模型.坐标系及D-H参数表. (2).齐 ...

  7. 西门子SMART 存储区

    输入过程映像区 I区(Process image input register):范围 I0.0 to I31.7 输出 过程映像区 Q区(Process image output register) ...

  8. LeetCode T36 Valid Sudoku

    文章目录 题目地址 题目描述 思路 题解 题目地址 中文:https://leetcode-cn.com/problems/valid-sudoku/ 英文:https://leetcode.com/ ...

  9. noi题库(noi.openjudge.cn) 1.5编程基础之循环控制T36——T45

    T36 计算多项式的值 描述 假定多项式的形式为xn+xn-1+-+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值. 输入 输入仅一行,包括x和n,用单个空格隔开.x在flo ...

最新文章

  1. nslookup命令用法
  2. 奥密克戎新毒株XE出现!传播速度快10%
  3. 【leetcode】3Sum
  4. JSON.stringify 语法实例讲解
  5. MIPI DSI协议介绍
  6. gc 吞吐量和停顿时间_GC对吞吐量和延迟的影响
  7. [Leetcode][LCP 19][JAVA][秋叶收藏集][动态规划]
  8. MySQL基础之 标准模式通配符
  9. redis 基本指令
  10. shiro框架学习(一)
  11. Origin 2022安装教程(附下载链接)
  12. Windows操作系统安装、备份与还原的所有方法
  13. arcgis 批量计算几何_GIS中的计算几何
  14. Latex系列(三)---IEEE Tran模板介绍
  15. Using setJavaScriptEnabled can Introduce XSS Vulnerabilities into
  16. Cadence OrCad Capture新建工程的方法
  17. Android 7.0 新特性
  18. 身份证识别-全方位突破,高精度,轻量级!
  19. 阿里云数据库迁移遇到的问题总结
  20. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

热门文章

  1. 近期用户/金蝶等ERP系统 MS SQL Server 数据库故障 典型恢复案例
  2. HDU 2549 壮志难酬 (水题,但有个小坑!)
  3. 概率习题,甲乙两人一起去游“2011西安世园会”
  4. 你不得不看的图文并茂的MQTT协议通信过程!!!
  5. 京东 618:如何配合业务打造 JDReact 三端融合开发平台?
  6. mysql靶场_搭建sqli靶场
  7. 被吐槽为“智商税”,老金磨方们的中式养生招牌还能挂多久?
  8. 【Class 3】 Python 基础二
  9. MySQL实战45讲学习笔记
  10. 【干】探索自己的云米冰箱