热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【简单】1、两数之和

一、暴力破解,执行效率低,可能会超时【1】思路:从第0位开始,查看和后面几位的之和是否target#-*-coding:utf-8-*-#__author__:pansy#2022

一、暴力破解,执行效率低,可能会超时

【1】思路:从第0位开始,查看和后面几位的之和是否=target

# -*- coding:utf-8 -*-
# __author__:pansy
# 2022/5/11
# 在数组nums中查找和为target的两个值的下标并输出,假设只会存在一组值
def towSum(nums,target):
# 创建列表
list = []
# 从坐标位置1开始查找,
# 从坐标位置2开始查找:
# 两数字想加,记录
for x in range(len(nums)-1):
for y in range(x+1,len(nums)):
if nums[x] + nums[y] == target:
list.append(x)
list.append(y)
return list
nums = [3,2,4]
target = 6
print(towSum(nums,target))

二、优化1

【1】知识点1:index(目标值,起始位置)查找列表元素并返回索引位置

【2】知识点2:用in查询,in可以用在字符串、列表、集合、元祖、字典中等

【3】知识点3:用count计算数组中的值,统计在字符串/列表/元组中某个字符出现的次数,可以设置起始位置或结束位置。

# -*- coding:utf-8 -*-
# __author__:pansy
# 2022/5/11
# 在数组nums中查找和为target的两个值的下标并输出,假设只会存在一组值
# 优化1:判断target-nums[i]是否在数组中,用index()查找列表元素并返回索引位置(知识点1)
def towSum(nums,target):
lens = len(nums)
j = -1
# 从刚开始位置查询
for i in range(lens):
# 如果target-num[i]在list里面,用in查询,in可以用在字符串、列表、集合、元祖、字典中等(知识点2)
nums2 = target-nums[i]
if nums2 in nums:
# 如果找到的找到的值的次数是1并且num1 = num2,说明找到的是本值,需要继续找
# 用count计算数组中的值,统计在字符串/列表/元组中某个字符出现的次数,可以设置起始位置或结束位置。(知识点3)
if (nums.count(nums2) == 1) & (nums[i] == nums2):
continue
else:
# 输出num2的索引位置,从num1后面一位开始
j = nums.index(nums2,i+1)
break
if j>0:
return [i,j]
else:
return []

nums = [2,7,11,15]
target = 9
print(towSum(nums,target))

 



推荐阅读
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文详细介绍了JSP(Java Server Pages)的九大内置对象及其功能,探讨了JSP与Servlet之间的关系及差异,并提供了实际编码示例。此外,还讨论了网页开发中常见的编码转换问题以及JSP的两种页面跳转方式。 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • 最近同事提了一个需求过来,他觉得项目对于第三方日志记录的太多了,只想记录一些业务相关的日志减少对于框架日志的显示。具体要求就是对于框架日志只显示warn等级以上的,而业务日志显示info等级以上 ... [详细]
  • 本文介绍了在Android项目中实现时间轴效果的方法,通过自定义ListView的Item布局和适配器逻辑,实现了动态显示和隐藏时间标签的功能。文中详细描述了布局文件、适配器代码以及时间格式化工具类的具体实现。 ... [详细]
  • js常用方法(1)startWithJava代码varstartsWithfunction(str,regex){if(regexundefined||strundefined|| ... [详细]
  • 在Python编程学习过程中,许多初学者常遇到各种功能实现难题。虽然这些问题往往并不复杂,但找到高效解决方案却能显著提升编程效率。本文将介绍一个名为‘30-seconds-of-python’的优质资源,帮助大家快速掌握实用的Python技巧。 ... [详细]
  • 1.增加视图函数#Http:127.0.0.1booksdefshow_books(request):booksBookInfo.objects.all()returnrend ... [详细]
  • Android中解析XML文件的实践指南
    本文详细介绍了在Android应用开发中解析XML文件的方法,包括从本地文件和网络资源获取XML文件的不同途径,以及使用DOM、SAX和PULL三种解析方式的具体实现。 ... [详细]
  • KMP算法是一种高效的字符串模式匹配算法,能够在不进行回溯的情况下完成匹配,其时间复杂度为O(m+n),其中m和n分别为文本串和模式串的长度。本文将详细介绍KMP算法的工作原理,并提供C语言实现。 ... [详细]
  • 如何处理MySQL命令行中文乱码问题
    本文详细探讨了MySQL命令行中出现中文乱码的原因及解决方案,通过调整配置文件和执行特定SQL命令来确保字符集正确设置,为用户提供了一个有效的解决路径。 ... [详细]
  • 本文详细解析了Python函数中形参与实参的概念及其应用,通过实例讲解如何正确使用这些参数,帮助初学者更好地掌握Python编程。 ... [详细]
  • 利用Python实现自动化群发邮件
    本文详细介绍如何使用Python语言来实现邮件的自动群发功能,适合希望提高工作效率的技术爱好者和开发者。 ... [详细]
author-avatar
风行汽车-赣州景通4S店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有