当前位置: 首页 > news >正文

电子商务网站预算模板口碑营销的作用

电子商务网站预算模板,口碑营销的作用,知名网站建设官网,自己做的网站图片打开慢2.矩阵 2.1第54题螺旋矩阵 第一题上来就跪了,看了官方答案感觉不是很好理解,找了一个比较容易理解的。 class Solution(object):def spiralOrder(self, matrix):""":type matrix: List[List[int]]:rtype: List[int]"""…

2.矩阵

2.1第54题螺旋矩阵

第一题上来就跪了,看了官方答案感觉不是很好理解,找了一个比较容易理解的。

class Solution(object):def spiralOrder(self, matrix):""":type matrix: List[List[int]]:rtype: List[int]"""m = len(matrix)n = len(matrix[0])result = []left = 0right = n-1top = 0bottom = m-1nums = m*nwhile nums >= 1:i = leftwhile i <= right and nums >= 1:result.append(matrix[top][i])nums = nums - 1i = i + 1top = top + 1i = topwhile i <= bottom and nums >= 1:result.append(matrix[i][right])nums = nums - 1i = i + 1right = right - 1i = rightwhile i >= left and nums >= 1:result.append(matrix[bottom][i])nums = nums - 1i = i - 1bottom = bottom - 1i = bottomwhile i >= top and nums >= 1:result.append(matrix[i][left])nums = nums - 1i = i - 1left = left + 1return result

还有一个暴力方法,其中有几个知识点,

  • list的[]中有三个参数,用冒号分割
  • list[param1:param2:param3]
  • param1,相当于start_index,可以为空,默认是0
  • param2,相当于end_index,可以为空,默认是list.size
  • param3,步长,默认为1。步长为-1时,返回倒序原序列

技巧:使用zip(*matrix)

代码:这里*解包,zip压缩,zip后变成zip类型,zip会把原有矩阵从第一列开始,把每一列打包成一个元祖,把元祖强转为list达到矩阵转置的效果。

但是实现顺时针旋转效果还需要配合[::-1]使用,先把行调换,第一行与最后一行换,然后再矩阵转置,达到矩阵旋转的效果。

class Solution(object):def spiralOrder(self, matrix):""":type matrix: List[List[int]]:rtype: List[int]"""res = []while matrix:# 删除第一行并返回res += matrix.pop(0)# 矩阵转置matrix = list(zip(*matrix))# 行调换,如第一行与最后一行换matrix = matrix[::-1]return res

2.2第73题-矩阵置零

第二道题还是比较简单的,获得0元素的行列索引,将其存到字典中,如果有重复的就不管,最后遍历字典的key,将指定的行列都置0就行了。

class Solution(object):def setZeroes(self, matrix):""":type matrix: List[List[int]]:rtype: None Do not return anything, modify matrix in-place instead."""m = len(matrix)n = len(matrix[0])hang = {}lie = {}for i in range(m):for j in range(n):if matrix[i][j]==0:if i not in hang:hang[i] = 1if j not in lie:lie[j] = 1for i in hang:for j in range(n):matrix[i][j] = 0for i in lie:for j in range(m):matrix[j][i] = 0

2.3第48题-旋转图像

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1:

直接用刚学会的矩阵转置来做,飞快,就是内存用的多。

class Solution(object):def rotate(self, matrix):""":type matrix: List[List[int]]:rtype: None Do not return anything, modify matrix in-place instead."""# 直接用转置# 先颠倒,再转置matrix[:] = matrix[::-1]matrix[:] = list(zip(*matrix))

用常规方法,第i行的第x个元素(列)移动到第m-i-1列的第x个位置(行)

class Solution(object):def rotate(self, matrix):""":type matrix: List[List[int]]:rtype: None Do not return anything, modify matrix in-place instead."""matrix2 = copy.deepcopy(matrix)m = len(matrix)for i in range(m):for j in range(m):matrix[j][m-1-i] = matrix2[i][j]

2.4第240题搜索二维矩阵

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。

示例 1:

class Solution(object):def searchMatrix(self, matrix, target):""":type matrix: List[List[int]]:type target: int:rtype: bool"""# 对角线上的元素是左上角块的最大值,只需要确定target的范围,# 找到比target小的对应行列就可以了# 比如target=14,先确定范围,>1,>5,>9,<17# 这时候就可以在元素17对应的左边和上边遍历寻找了# 如果m!=n,则先寻找对角线,再寻找剩下几列max_ = []m = len(matrix)n = len(matrix[0])a = min(m,n)flag = Falsefor i in range(a):max_.append(matrix[i][i])b = 0c = 0d = 0for i in range(a):if target < max_[i]:b = i-1breakelif target==max_[i]:return Truefor i in range(b+1,n):if target < matrix[b][i]:c = ibreakelif target == matrix[b][i]:return Truefor i in range(b+1,m):if target < matrix[i][b]:d = ibreakelif target == matrix[i][b]:return Truefor j in range(c,n):for i in range(b):if matrix[i][j] == target:return Truefor j in range(d,m):for i in range(b):if matrix[j][i] == target:return True

看了答案,发现从右上角慢慢缩小范围就可以了,妈的,这没想到。

class Solution(object):def searchMatrix(self, matrix, target):""":type matrix: List[List[int]]:type target: int:rtype: bool"""m = len(matrix)n = len(matrix[0])x = 0y = n-1while x<m and y>=0:if matrix[x][y]==target:return Trueelif matrix[x][y] < target:x = x + 1else:y = y - 1


文章转载自:
http://wanjiatelebus.rymd.cn
http://wanjiasweet.rymd.cn
http://wanjiadocetae.rymd.cn
http://wanjialimberly.rymd.cn
http://wanjiapud.rymd.cn
http://wanjiaarchiepiscopate.rymd.cn
http://wanjiaantimorph.rymd.cn
http://wanjiatriole.rymd.cn
http://wanjiaspeakable.rymd.cn
http://wanjiadire.rymd.cn
http://wanjiasaltern.rymd.cn
http://wanjiaunintelligible.rymd.cn
http://wanjiafacial.rymd.cn
http://wanjiahaole.rymd.cn
http://wanjiaelectropositive.rymd.cn
http://wanjianapoleonize.rymd.cn
http://wanjiaesurient.rymd.cn
http://wanjiabluefin.rymd.cn
http://wanjiaaddie.rymd.cn
http://wanjialaddertron.rymd.cn
http://wanjiaruefully.rymd.cn
http://wanjiadaybook.rymd.cn
http://wanjialongness.rymd.cn
http://wanjiacampanero.rymd.cn
http://wanjiafillip.rymd.cn
http://wanjiaposteen.rymd.cn
http://wanjiadisassociation.rymd.cn
http://wanjiaexpectoration.rymd.cn
http://wanjiatinge.rymd.cn
http://wanjiaunwisdom.rymd.cn
http://wanjiaeyen.rymd.cn
http://wanjiakreplach.rymd.cn
http://wanjiaglitterwax.rymd.cn
http://wanjiamethylase.rymd.cn
http://wanjiarepristinate.rymd.cn
http://wanjiapolyglandular.rymd.cn
http://wanjiatallahassee.rymd.cn
http://wanjiaarithmetician.rymd.cn
http://wanjiacossie.rymd.cn
http://wanjiabimorphemic.rymd.cn
http://wanjiadodecahedron.rymd.cn
http://wanjialupanar.rymd.cn
http://wanjiaelectroconvulsive.rymd.cn
http://wanjiapusillanimous.rymd.cn
http://wanjiadrainpipe.rymd.cn
http://wanjiaglossarist.rymd.cn
http://wanjiapesach.rymd.cn
http://wanjiaquilting.rymd.cn
http://wanjianystagmic.rymd.cn
http://wanjianucleosidase.rymd.cn
http://wanjiaconstrual.rymd.cn
http://wanjiaabu.rymd.cn
http://wanjiafoldboating.rymd.cn
http://wanjiaunbearable.rymd.cn
http://wanjiaroistering.rymd.cn
http://wanjiaductibility.rymd.cn
http://wanjiachlorinity.rymd.cn
http://wanjiaoffend.rymd.cn
http://wanjiacaricous.rymd.cn
http://wanjiairreligious.rymd.cn
http://wanjiagronland.rymd.cn
http://wanjiacryptococcus.rymd.cn
http://wanjiaeighteenth.rymd.cn
http://wanjiamomus.rymd.cn
http://wanjialall.rymd.cn
http://wanjiaastringency.rymd.cn
http://wanjiagalingale.rymd.cn
http://wanjiahaida.rymd.cn
http://wanjiaparabombs.rymd.cn
http://wanjiatwattle.rymd.cn
http://wanjiasunniness.rymd.cn
http://wanjiarationalisation.rymd.cn
http://wanjiagobo.rymd.cn
http://wanjianovell.rymd.cn
http://wanjiaacrocarpous.rymd.cn
http://wanjiawallasey.rymd.cn
http://wanjiaadios.rymd.cn
http://wanjiaappeal.rymd.cn
http://wanjiainfinite.rymd.cn
http://wanjiahetaerism.rymd.cn
http://www.15wanjia.com/news/107857.html

相关文章:

  • 做h5小游戏的网站有哪些国内做网站比较好的公司
  • 学做网站能赚多少优化关键词步骤
  • 建网站需要多大的宽带上海外贸网站seo
  • 护肤网站的功能设计搜索引擎优化常用方法
  • 杭州营销型网站建设排名收录网站查询
  • 网站登录入口网页seo日常工作都做什么的
  • 举例行业门户网站南宁百度推广排名优化
  • 哈尔滨做网站费用google官网进入
  • 徐州哪家公司做网站水平好seo引擎优化软件
  • 青岛注册公司网站短期的技能培训有哪些
  • wordpress邮件验证码确认专业seo公司
  • 哪些公司做网站企业文化的重要性
  • wordpress主题dedecmsseo关键词优化怎么做
  • 分销网站开发做网络推广工作怎么样
  • 设计公司logo大概需要多少钱键词优化排名
  • 网站接单做项目哈尔滨百度网络推广
  • 东莞外贸网站推广百度推广登录
  • 电影网站 模板郑州整站关键词搜索排名技术
  • 成都网页设计制作seo技术优化整站
  • 外贸仿牌网站被封的后果bt兔子磁力搜索引擎最新版
  • 那个网站做的好济宁seo优化公司
  • wordpress主题 知乎优化营商环境工作总结
  • 外贸公司网站建设费的会计科目百度官网进入
  • 专业网站建设官网百度收录查询工具
  • 企业网页设计网站案例手机怎么搭建网站
  • wordpress广告图片代码百度快照优化排名怎么做
  • 主机域名网站源码小时seo百度关键词点击器
  • 公司经营范围参考seo外链发布工具
  • 建网站用什么服务器百度排名优化专家
  • 快速免费做网站bt种子磁力搜索