java 学习日记

news2024/11/20 20:28:53

今天先搞题目

给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。

连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。

请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。

示例 1:

输入:points = [[0,0],[2,2],[3,10],[5,2],[7,0]]
输出:20
解释:

我们可以按照上图所示连接所有点得到最小总费用,总费用为 20 。
注意到任意两个点之间只有唯一一条路径互相到达。
示例 2:

输入:points = [[3,12],[-2,5],[-4,1]]
输出:18
示例 3:

输入:points = [[0,0],[1,1],[1,0],[-1,1]]
输出:4
示例 4:

输入:points = [[-1000000,-1000000],[1000000,1000000]]
输出:4000000
示例 5:

输入:points = [[0,0]]
输出:0
 

提示:

1 <= points.length <= 1000
-106 <= xi, yi <= 106
所有点 (xi, yi) 两两不同。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/min-cost-to-connect-all-points
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

没啥可讲的,就是一个最小生成树的模板题目

我复习一下,写着写着差点没缓过来,写成了djs,好久没写了,记得是咋回事可是写起来就不太对了

要多写了呀直接哭死了.

int minCostConnectPoints(int** points, int pointsSize, int* pointsColSize){
    int map[pointsSize+1][pointsSize+1];
    for(int j=1;j<=pointsSize;j++)
    memset(map[j],0,sizeof(int)*(pointsSize+1));

    for(int h=0;h<pointsSize;h++){
        for(int g=0;g<pointsSize;g++){
            if(g!=h){
            map[h+1][g+1]=abs(points[h][0]-points[g][0])+abs(points[h][1]-points[g][1]);
            map[g+1][h+1]=abs(points[h][0]-points[g][0])+abs(points[h][1]-points[g][1]);
            }
        }
    }
    int* maps = (int*)malloc(sizeof(int)*(pointsSize+1));
    memset(maps,0,sizeof(int)*(pointsSize+1));
 
    int* lst = (int*)malloc(sizeof(int)*(pointsSize+1));
    memset(lst,0,sizeof(int)*(pointsSize+1));
    maps[1]=1;
    int ans=0;
    for(int h=1;h<pointsSize+1;h++){
        lst[h]=map[1][h];
    }

    for(int k=0;k<pointsSize-1;k++){
          int max=99999999;
          int l=0;
         for(int j=1;j<=pointsSize;j++){
             if(lst[j]<max&&lst[j]!=0&&maps[j]==0){
                 max=lst[j];
                 l=j;
             }
         }
         ans+=max;
         maps[l]=1;
         for(int h=1;h<pointsSize+1;h++){
              if(map[l][h]<lst[h]&&maps[h]==0)
              lst[h]=map[l][h];
         }
    }
    return ans;

}

 直接想出来的,呀哈想了一会写出来了

2106. 摘水果

难度困难123收藏分享切换为英文接收动态反馈

在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] = [positioni, amounti] 表示共有 amounti 个水果放置在 positioni 上。fruits 已经按 positioni 升序排列 ,每个 positioni 互不相同 。

另给你两个整数 startPos 和 k 。最初,你位于 startPos 。从任何位置,你可以选择 向左或者向右 走。在 x 轴上每移动 一个单位 ,就记作 一步 。你总共可以走 最多 k 步。你每达到一个位置,都会摘掉全部的水果,水果也将从该位置消失(不会再生)。

返回你可以摘到水果的 最大总数 。

示例 1:

输入:fruits = [[2,8],[6,3],[8,6]], startPos = 5, k = 4
输出:9
解释:
最佳路线为:
- 向右移动到位置 6 ,摘到 3 个水果
- 向右移动到位置 8 ,摘到 6 个水果
移动 3 步,共摘到 3 + 6 = 9 个水果

示例 2:

输入:fruits = [[0,9],[4,1],[5,7],[6,2],[7,4],[10,9]], startPos = 5, k = 4
输出:14
解释:
可以移动最多 k = 4 步,所以无法到达位置 0 和位置 10 。
最佳路线为:
- 在初始位置 5 ,摘到 7 个水果
- 向左移动到位置 4 ,摘到 1 个水果
- 向右移动到位置 6 ,摘到 2 个水果
- 向右移动到位置 7 ,摘到 4 个水果
移动 1 + 3 = 4 步,共摘到 7 + 1 + 2 + 4 = 14 个水果

示例 3:

输入:fruits = [[0,3],[6,4],[8,5]], startPos = 3, k = 2
输出:0
解释:
最多可以移动 k = 2 步,无法到达任一有水果的地方

提示:

  • 1 <= fruits.length <= 105
  • fruits[i].length == 2
  • 0 <= startPos, positioni <= 2 * 105
  • 对于任意 i > 0 ,positioni-1 < positioni 均成立(下标从 0 开始计数)
  • 1 <= amounti <= 104
  • 0 <= k <= 2 * 105

 这是签到题目,可是我细节注意没到位,漏了点东西 ,老是错就把解题的思路来搞吧

1首先我们是可以先向左,或者向右,剩下的步数反向走,没过原点就按原点算,过了就算当前的点

2要用前缀和来简化对权值的求和

3遍历每个步数,得到的权值,但是有几种的特殊情况

代码先不放了,没对!

java 知识

数据的类型

1.基本数据类型(就是不是指针的类型都是)

2.引用(指针)

this 是一个方法所在地的调用者的地址

如 Scanr s = new Scanr()

此时this为s就是一个地址

构造方法

可以空参也可以带参数构造

 当你写了,构造方法之后,原本默认的初始空参的构造就没了

private 私有的

只可以在本类中才可以调用,基本上用的类里面的set以及get

还有字符串

好多呀不知道咋讲我把笔记留下来吧

 

 

 

 ok,今天到这就算了

哈哈哈嗝

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/491677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DS1302芯片介绍

低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时&#xff0c;且具有闰年补偿等多种功能。 DS1302的性能特性&#xff1a; 实时时钟&#xff0c;可对秒、分、时、日、周、月以及带闰年补偿的年进行计数&#xff1b; 用于高速数据暂存的318位RAM&#xff1b; 最少引脚…

Redis --- 持久化、主从

一、Redis持久化 Redis有两种持久化方案&#xff1a; RDB持久化 AOF持久化 1.1、RDB持久化 RDB全称Redis Database Backup file&#xff08;Redis数据备份文件&#xff09;&#xff0c;也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故…

第 5 章 HBase 优化

5.1 RowKey 设计 一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内&#xff0c;设计 rowkey的主要目的 &#xff0c;就是让数据均匀的分布于所有的 region 中&#xff0c;在一定程度上防止数据倾斜…

年前无情被裁,我面试大厂的这3个月....

春招接近尾声&#xff0c;即将远去的“金三银四”今年也变成了“铜三铁四”。 大厂不断缩招&#xff0c;不容忽视的疫情影响&#xff0c;加上不断攀升的毕业生人数&#xff0c;各种需要应对的现实问题让整个求职季难上加难。 在这个异常残酷的求职季&#xff0c;很多人的困惑…

阿里系App抓包详细分析

InnerMtopInitTask OpenMtopInitTask ProductMtopInitTask 三个实现分别对应的instanceId为&#xff1a;OPEN、INNER、PRODUCT&#xff0c;咱们主要看InnerMtopInitTask这个实现&#xff0c;分析里面重要的初始化步骤&#xff0c;最后再使用Charles完成抓包。 IMtopInitTas…

发帖引蜘蛛:让你的网站在搜索引擎中的曝光率翻倍!

在当今的数字时代&#xff0c;SEO已成为提高网站曝光率和流量的重要手段。发帖引蜘蛛是一种有效的SEO技术&#xff0c;它可以让您的网站在搜索引擎中的曝光率翻倍&#xff0c;从而为您的业务带来更多的流量和潜在客户。 发帖引蜘蛛是一种简单易学的技术&#xff0c;它需要您在…

SPSS如何进行信度分析之案例实训?

文章目录 0.引言1.信度分析2.多维刻度分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对信度分析进行阐述。 1.信度分析 &#…

【ROS】如何让ROS中节点实现数据交换Ⅰ--ROS话题通信

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法…感兴趣就关注我吧&#xff01;你定不会失望。 目录 0.ROS文件系统及常用指令1.话题通信概念2.利用标准消息类型实现话题通信实现(python)2.1发布方实现2.2订阅方实现 3.利用自定义消息类…

[Dubbo] 重要接口与类

文章目录 1.dubbo的整体调用链路2.dubbo的源码整体设计3.重要接口和类 1.dubbo的整体调用链路 消费者通过Interface进行方法调用&#xff0c;统一交由消费者的Proxy处理&#xff08;Proxy通过ProxyFactory来进行代理对象的创建&#xff09; Proxy调用Filter模块&#xff0c;做…

搞懂 API ,API 分类全知道

API&#xff0c;即应用程序编程接口&#xff0c;是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的分类可以从多个维度进行&#xff0c;我会对 API 的分类维度进行简单的介绍。 根据使用方式的不同 通常情况下&#xff0c;API 可以分为两种使用方式&#…

【LeetCode】1143. 最长公共子序列

1.问题 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff0…

Springboot 项目搭建

目录 一、new project 二、pom.xml 三、配置 resources/application.yml 四、CodeGenerator 代码生成 五、在项目主启动类中&#xff0c;添加MapperScan注解 六、编写 Controller 七、选择application类&#xff0c; 点击运行 一、new project: 二、pom.xml <?xml …

如何升级npm 和 安装nvm 及 升级node.js

1.NPM如何升级&#xff1f; 1.1.可以使用NPM自带的命令进行升级&#xff1a; npm install -g npm 注&#xff1a;这个命令会安装最新的&#xff0c;安装到全局。 2.查看NPM版本 npm -v 注&#xff1a;要是版本过低&#xff0c;可使用上面所说命令进行升级。 3.怎么把node.js升…

二级医院不良事件管理源码,事件审核处理、事件提醒、权限控制、外部上报等功能

医疗安全不良事件报告系统源码 技术架构&#xff1a;前后端分离&#xff0c;仓储模式 开发语言&#xff1a;PHP 开发工具&#xff1a;vscode 前端框架&#xff1a;vue2element 后端框架&#xff1a;laravel8 数 据 库&#xff1a;mysql5.7 文末获取联系&#xff01; 医疗…

供应链管理:理解供应链管理

什么是供应链 供应链便是环绕中心企业&#xff0c;从配套零件开始&#xff0c;制成中心产品直至最终产品&#xff0c;最后由出售网络把产品送到顾客手中的、将供应商&#xff0c;制造商&#xff0c;分销商直到最终用户连成一个整体的功用网链结构。 从这个角度讲&#xff0c;生…

实验9---SpringMVC控制器

实验九 SpringMVC 二 一、实验目的及任务 通过该实验&#xff0c;掌握SpringMVC实现供应商添加、查看、修改的方法。掌握SpringMVC控制器的编写方法。 二、实验环境及条件 主机操作系统为Win10&#xff0c;Tomcat,j2sdk1.6或以上版本。 三、实验实施步骤 略 四、实验报…

一个让人类窒息的AI工具,或许未来人工智能真的能代替人类!

时隔几周&#xff0c;「神采PromeAI」又更新了 不仅页面做了小小的调整 又增加了「背景生成」功能 害怕各位小伙伴找不到使用位置 今天小编就给大家分享一个超全的使用教程 极速出图效率翻倍 让神采PromeAI在应用性设计方面更具优势 温馨提示&#xff1a;目前手机适配端无…

接口自动化测试框架设计:数据驱动、Page Object、单例模式实战

B站首推&#xff01;2023最详细自动化测试合集&#xff0c;小白皆可掌握&#xff0c;让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 一、前言 二、设计模式 2.1 数据驱动测试模式 2.2 Page Object 模式 2.3 单例模式 三、代码实现 四、总…

小米路由器4A,(R4A千兆版)刷openwrt系统(Linux的一种)

下载系统 第一步下载自己路由器型号的系统固件&#xff0c;https://openwrt.org/toh/views/toh_fwdownload 直接在页面搜索自己路由器品牌找到区域再找到自己的型号对应的&#xff0c;然后选第一个链接是稳定版系统固件&#xff0c;下载后改名为openwrt.bin 固件备用 下载程序 …

Facebook禁止推广的产品,你知道吗?

作为全球最大的社交媒体平台之一&#xff0c;Facebook一直在努力保护广告客户和用户的权益&#xff0c;以及确保平台上的广告内容合法、道德、安全。 在本文中&#xff0c;我们将深入了解Facebook禁止推广的产品&#xff0c;以及为什么它们被禁止。ClonBrowser多账号功能可以通…