华为OD刷题C卷 - 每日刷题 1
1、(两数之和):
这段代码是针对力扣(LeetCode)上的“两数之和”问题。它提供了一个Java类Solution,其中包含一个方法twoSum,该方法接收一个整数数组nums和一个整数目标值target。目的是找出数组中两个整数的和等于目标值target,并返回这两个整数的数组下标。
代码中首先定义了一个HashMap<Integer, Integer>,用来存储数组中的每个数字及其对应的下标。然后,通过遍历数组,对于每个元素,检查HashMap中是否存在一个值,使得这个值与当前元素的和等于目标值target。如果存在,就将对应的下标和当前元素的下标存入数组ans中,并中断循环。最后返回ans数组。
这段代码使用了哈希表来优化查找过程,使得算法的时间复杂度为O(n),而不是暴力解法的O(n^2)。
2、(两数相加):
这段代码是针对力扣(LeetCode)上的“两数相加”问题。它提供了一个Java类Solution,其中包含一个方法addTwoNumbers,该方法接收两个表示非负整数的链表l1和l2。这些整数是逆序存储的,每个节点存储一位数字。
addTwoNumbers方法首先初始化了头结点head和尾结点tail,并定义了一个变量carry来存储进位。然后,它使用一个循环来遍历两个链表,直到两个链表都遍历完毕。在每次循环中,它计算两个链表当前节点的值加上进位的和,然后更新进位carry。接着,它创建一个新的链表节点,其值为sum % 10(即和的个位数),并将其链接到结果链表的末尾。如果head为null,说明这是结果链表的第一个节点,因此同时更新head和tail;否则,只更新tail。
循环结束后,如果还有进位(carry > 0),则在链表末尾添加一个新的节点,其值为carry。最后,返回头结点head,它指向表示两个数之和的链表。
这段代码通过模拟加法运算的过程,逐位相加并处理进位,从而实现了两个链表表示的整数相加的功能。
package Code1;import java.util.Arrays;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Scanner;/*** @description 两数之和* @level 简单* @score* @url https://leetcode.cn/problems/two-sum/description/*/
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);}
}class Solution {public int[] twoSum(int[] nums, int target) {//转为Listint[] ans = 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) {// ans = new int[]{i, j};// break;// }// }//}//使用哈希表 数字,对应下标HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums.length; i++) {//如果存在对应结果if (map.containsKey(target - nums[i])) {ans = new int[]{map.get(target - nums[i]), i};break;}map.put(nums[i], i);}return ans;}
}
package Code2;import java.util.Scanner;/*** @description 两数相加* @level 中等* @score* @url https://leetcode.cn/problems/add-two-numbers/description/*/
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);}
}/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val = val; }* ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {//头结点,尾结点ListNode head = null, tail = null;//进位int carry = 0;while (l1 != null || l2 != null) {int x = l1 == null ? 0 : l1.val;int y = l2 == null ? 0 : l2.val;int sum = x + y + carry;carry = sum / 10;//初始化,头节点和尾结点是同一个节点if (head == null) {head = tail = new ListNode(sum % 10);} else {//否则,就加在尾结点后面tail.next = new ListNode(sum % 10);tail = tail.next;}//遍历l1下一个节点if (l1 != null) {l1 = l1.next;}//遍历l2下一个节点if (l2 != null) {l2 = l2.next;}}//如果最后还有进位if (carry > 0) {tail.next = new ListNode(carry);tail = tail.next;}return head;}public static class ListNode {int val;ListNode next;public ListNode(int val) {this.val = val;}public ListNode(int val, ListNode next) {this.val = val;this.next = next;}}
}
相关文章:
华为OD刷题C卷 - 每日刷题 1
1、(两数之和): 这段代码是针对力扣(LeetCode)上的“两数之和”问题。它提供了一个Java类Solution,其中包含一个方法twoSum,该方法接收一个整数数组nums和一个整数目标值target。目的是找出数组…...
基于ELK的日志管理【开发实践】
文章目录 一、ELK简介1.1 ELK的作用与应用1.2 ELK的组成1.3 Elasticsearch1.4 Logstash1.5 Kibana1.6 ELK架构简述1.7 基础知识1.7.1 数据格式1.7.2 正排索引和倒排索引1.7.3 全文搜索 二、ES入门---基于HTTP的使用方式(了解)2.1 索引操作2.1.1 创建索引…...
音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解
文章目录 前言1.模拟数字转换(ADC)1.1ADC的关键步骤: 2.数字模拟转换(DAC)2.1DAC 的基本流程包括: 3.PCM数据3.1PCM 数据的关键要素包括: 4.WAV文件4.1 WAV的构成4.2WAV文件的标准块结构4.3WAV的…...
Elasticsearch 8.1官网文档梳理 - 十三、Search your data(数据搜索)
Search your data 这里有两个比较有用的参数需要注意一下 Search timeout:设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求,就会…...
笔墨挥毫如游龙 最是经典铁线篆——记著名书法家王子彬
真正的书法大家,必是经历了日积月累的求索磨炼,毕竟书法从来都不是一蹴而就的艺术,因此但凡是急功近利者,其人也是远远无法达到书入臻境的创作高度。而纵观当代书坛界内,其中王子彬先生的艺术声誉可谓是广为人知,作为一名深具传统功底的实力派书法大家,王子彬先生的取法历途无疑…...
智慧校园有哪些特征
随着科技的飞速进步,教育领域正经历着一场深刻的变革。智慧校园,作为这场变革的前沿代表,正在逐步重塑我们的教育理念和实践方式。它不仅仅是一个概念,而是一个集成了物联网、大数据、人工智能等先进技术的综合生态系统࿰…...
day25回溯算法part02| 216.组合总和III 17.电话号码的字母组合
216.组合总和III 题目链接/文章讲解 | 视频讲解 class Solution { public:vector<vector<int>> result;vector<int> path;int sum;void backtracking(int n, int k, int startindex) {// int sum accumulate(path.begin(), path.end(), 0);if (sum n &am…...
AWS联网和内容分发服务
概况 VPC Amazon Virtual Private Cloud (Amazon VPC) 让您能够全面地控制自己的虚拟网络环境,包括资源放置、连接性和安全性。首先在 AWS 服务控制台中设置 VPC。然后,向其中添加资源,例如 Amazon Elastic Compute Cloud (EC2) 和 Amazon …...
vscode设置编辑器文件自动保存
步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”; 在 Files: Auto Save 设置项,选择自动保存的模式...
SJ705C安全帽高温预处理箱
一、仪器用途 安全帽高温预处理箱是我公司根据安全帽新国家标准检测试验要求而自主设计研发制造。是安全帽检测前做高温预处理的专用设备。 二、仪器特征 1、有PID自整定温度控制仪,控制准确。 2、数显计时、计温器。 3、石英灯管加热系统;。 …...
AI盒子在智慧加油站的应用
方案背景 为规范加油站作业,保障人民生命财产安全,《加油站作业安全规范》(AQ 3010-2007)中第五条规定:卸油作业基本要求,明确防静电、防雷电、防火、人员值守、禁止其他车辆及非工作人员进入卸油区。 痛点…...
IC开发——VCS基本用法
1. 简介 VCS是编译型verilog仿真器,处理verilog的源码过程如下: VCS先将verilog/systemverilog文件转化为C文件,在linux下编译链接生成可执行文件,在linux下运行simv即可得到仿真结果。 VCS使用步骤,先编译verilog源…...
MongoDB~存储引擎了解
存储引擎 存储引擎是一个数据库的核心,主要负责内存、磁盘里数据的管理和维护。 MongoBD的优势,在于其数据模型定义的灵活性、以及可拓展性。但不要忽略,其存储引擎也是插件式的存在,支持不同类型的存储引擎,使用不同…...
JavaScript实现粒子数字倒计时效果附完整注释
<!DOCTYPE html> <html lang="en"><head><meta charset...
Dubbo SPI(Service Provider Interface)机制深度解析
Dubbo SPI(Service Provider Interface)机制是Apache Dubbo框架中一项核心的技术组件,它超越了传统Java SPI的范畴,为Dubbo带来了高度的可扩展性和灵活性。在分布式服务架构日益复杂多变的今天,Dubbo SPI机制通过巧妙的…...
常用中间件各版本下载
常用中间件下载地址 前言分布式中间件负载均衡中间件缓存中间件数据库中间件其他中间件1、Maven下载地址2、Git下载地址2、JDK下载地址3、MySQL下载地址4、Redis下载地址5、Nacos下载地址6、Tomcat下载地址7、Nginx下载地址8、RocketMQ下载地址8、RabbitMQ下载地址8、Erlang下载…...
VsCode SSH远程设置不用重复输入密码
winR输入cmd,回车,输入 C:\Users\Administrator> ssh-keygen -t rsa -b 4096 Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa): Enter passphrase (empty for no passphrase): …...
【Linux】:进程切换
朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux进程切换的知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精…...
MongoDB CRUD操作:删除文档
MongoDB CRUD操作:删除文档 文章目录 MongoDB CRUD操作:删除文档删除集合的所有文档删除符合条件的所有文件删除第一个符合条件的文档## 在MongoDB Atlas中删除文档删除行为索引 原子性写确认 可以使用下面的方式删除MongoDB集合的文档: 使用…...
SpringBoot集成腾讯COS流程
1.pom.xml中添加cos配置 <!--腾讯cos --> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.28</version> </dependency> 2.application.yaml中添加cos配置 # 腾讯云存储cos…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...
