码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • js两数之和


    两数之和

    两层for循环

    // O(n^2)
    const twoNum = function(nums,target){
      for(let i =0;i<nums.length;i++){
        for(let j=i+1 ;j<nums.length;j++){
          if(nums[i]+nums[j]===target){
            return[i,j]
          }
        }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    双指针
    请添加图片描述

    // 当数组为有序的时候O(n)
    const twoNum2 = function(nums,target){
      let i = 0 // 头
      let j = nums.length-1 // 尾
      while (i<j){
        const sum = nums[i]+nums[j]
        if(sum>target){
          j--
        }else if(sum<target){
          i++
        }else{
          return [i,j]
        }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    js的map和set

    Map

    是一组键值对的结构,具有极快的查找速度。

    var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
    m.get('Michael'); // 95
    
    • 1
    • 2

    初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:

    var m = new Map(); // 空Map
    m.set('Adam', 67); // 添加新的key-value
    m.has('Adam'); // 是否存在key 'Adam': true
    m.get('Adam'); // 67
    m.delete('Adam'); // 删除key 'Adam'
    m.get('Adam'); // undefined
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • clear从映射中移除所有元素。
    • delete从映射中移除指定的元素。
    • forEach对映射中的每个元素执行指定操作。
    • get返回映射中的指定元素。
    • has如果映射包含指定元素,则返回 true。
    • set添加一个新建元素到映射。
    • toString返回映射的字符串表示形式。
    • valueOf返回指定对象的原始值。
    Set

    Set是一种叫做集合的数据结构,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

    要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set

    var s1 = new Set(); // 空Set
    var s2 = new Set([1, 2, 3]); // 含1, 2, 3
    
    • 1
    • 2

    Set的属性:

    • size:返回集合所包含元素的数量

    Set的方法:

    操作方法

    • add(value):向集合添加一个新的项
    • delete(value):从集合中移除一个值
    • has(value):如果值在集合中存在,返回true,否则false
    • clear(): 移除集合里所有的项

    遍历方法

    • keys():返回一个包含集合中所有键的数组
    • values():返回一个包含集合中所有值的数组
    • entries:返回一个包含集合中所有键值对的数组
    • forEach():用于对集合成员执行某种操作,没有返回值
  • 相关阅读:
    JVM原理(一)JVM通识、JVM架构
    51单片机自动量程(3挡)0-30v直流电压表万用表CD4051 LCD1602显示 MCP3201
    牛客模拟面 面经1/2
    springboot毕设项目滁州学院体育馆管理h78n6(java+VUE+Mybatis+Maven+Mysql)
    罗永浩宣布退出社交平台,年近半百再次埋头创业,“真还传”接近尾声
    【vue3源码】十二、认识虚拟DOM
    Qt扩展-QCustomPlot绘图基础概述
    当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能
    快速替换jar包中.class、.html、.yml格式的文件
    4-爬虫-selenium(等待元素加载、元素操作、操作浏览器执行js、切换选项卡、前进后退异常处理)、xpath、动作链
  • 原文地址:https://blog.csdn.net/qq_47234456/article/details/124936871
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号