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

力扣刷题day1(java自用)

1 两数和
找出两数等于目标值的下标;
方法一:
时间复杂度0(N^2)
暴力破解

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] a= new int[2];
        for(int i=0;i<nums.length;i++){
        for(int j=i+1;j<nums.length;j++)
        {
            if((nums[i]+nums[j])==target)
            {
                a[0]=i;
                a[1]=j;
                return a;
            }
        }}
        return a;
    }
}

方法二:
java创建数组语法 int[] a =new int[]{?,?}
使用哈希表实现,时间复杂度为O(N),创建哈希表查找时间紧为0(1)
介绍一下map
简单介绍一下:如果直接暴力破解显然很慢,如果使用map,可以通过查询map中是否有对应的(target-x),有一些两种情况。
map中没有
1 可能为第一个值,直接放入mqp中
2 可能没有对应的j使相加为target,则放入map中
map中有
1 直接返回key对应value,i。

Map<Integer, Integer> map = new HashMap<>(); //创建map表
map.containsKey("") 有则表示true,无则表示false
map.put(" "," ")放入值
map.get(" ") 通过键获得值
class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        int n = nums.length;
        for (int i = 0; i < n; i++) {
            if (map.containsKey(target - nums[i])) {
                return new int[] { i, map.get(target - nums[i]) };
            }
            map.put(nums[i], i);

        }
        return new int[] {};
    }
}

相关文章:

  • Cursor编程-从入门到精通__0409
  • Java常用工具算法-6--秘钥托管云服务AWS KMS
  • 西门子S7-1200PLC 工艺指令PID_Temp进行控温
  • spring mvc中不同服务调用类型(声明式(Feign)、基于模板(RestTemplate)、基于 SDK、消息队列、gRPC)对比详解
  • 【Proteus仿真】【32单片机-A008】MPX4115压力检测系统设计
  • Linux环境防火墙常用配置说明
  • UGUI源代码之Text—实现自定义的字间距属性
  • AutoModelForCausalLM 解析,因果模型
  • MyBatis中特殊符号处理总结
  • 安卓性能调优之-检测应用启动速度
  • 在Flutter中使用BottomNavigationBar和IndexedStack可以实现一个功能完整的底部导航栏
  • 适用于恶劣工业环境的高功率PoE+网管交换机
  • 状态管理组件Pinia 简介与底层原理 、Pinia 与其他状态管理库对比、Vue3 + Element Plus + Pinia 安装配置详解
  • DAPP实战篇:使用ethers.js连接以太坊智能合约
  • 数字图像相关(DIC)技术在土木行业的部分应用
  • 将已有 SVN 服务打包成 Docker 镜像的详细步骤
  • 蓝桥杯 区间排序
  • git操作0409
  • ruby self
  • 探索 Shell 中的扩展通配符:从 Bash 到 Zsh
  • 公司网站开发排名/口碑营销案例2021
  • 如何建个人网站教程/最好的推广平台是什么软件
  • 昆明网站建设公司乐网/青岛优化网站关键词
  • 网站开发论文结论/网站制作公司网站
  • 重庆景点介绍/百度seo优化排名客服电话
  • 武汉高端企业网站建设/佛山网络公司 乐云seo