Java每日一练(20230508) Excel表列名称、验证回文串、路径总和II

news2025/1/12 15:52:52

目录

1. Excel表列名称  🌟

2. 验证回文串  🌟

3. 路径总和 II  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. Excel表列名称

给你一个整数 columnNumber ,返回它在 Excel 表中相对应的列名称。

例如:

A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28 
...

示例 1:

输入:columnNumber = 1
输出:"A"

示例 2:

输入:columnNumber = 28
输出:"AB"

示例 3:

输入:columnNumber = 701
输出:"ZY"

示例 4:

输入:columnNumber = 2147483647
输出:"FXSHRXW"

提示:

  • 1 <= columnNumber <= 2^31 - 1

出处:

https://edu.csdn.net/practice/27308135

代码:

import java.util.*;
public class convertToTitle {
    public static class Solution {
        public String convertToTitle(int n) {
            if (n <= 0) {
                return "";
            }
            StringBuilder sb = new StringBuilder();
            while (n > 0) {
                n--;
                sb.append((char) (n % 26 + 'A'));
                n = n / 26;
            }
            return sb.reverse().toString();
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.convertToTitle(1));
        System.out.println(s.convertToTitle(28));
        System.out.println(s.convertToTitle(701));
        System.out.println(s.convertToTitle(2147483647));
    }
}

输出:

A
AB
ZY
FXSHRXW


2. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama"
输出: true
解释:"amanaplanacanalpanama" 是回文串

示例 2:

输入: "race a car"
输出: false
解释:"raceacar" 不是回文串

提示:

  • 1 <= s.length <= 2 * 10^5
  • 字符串 s 由 ASCII 字符组成

出处:

https://edu.csdn.net/practice/27308136

代码:

import java.util.*;
public class isPalindrome {
    public static class Solution {
        public boolean isPalindrome(String s) {
            StringBuffer str = new StringBuffer();
            int len = s.length();
            for (int i = 0; i < len; i++) {
                char c = s.charAt(i);
                if (Character.isLetterOrDigit(c)) {
                    str.append(Character.toLowerCase(c));
                }
            }
            int left = 0;
            int right = str.length() - 1;
            while (left < right) {
                if (str.charAt(left) != str.charAt(right)) {
                    return false;
                }
                left++;
                right--;
            }
            return true;
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.isPalindrome("A man, a plan, a canal: Panama"));
        System.out.println(s.isPalindrome("race a car"));
    }
}

输出:

true
false


3. 路径总和 II

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。

叶子节点 是指没有子节点的节点。

示例 1:

输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
输出:[[5,4,11,2],[5,8,4,5]]

示例 2:

输入:root = [1,2,3], targetSum = 5
输出:[]

示例 3:

输入:root = [1,2], targetSum = 0
输出:[]

提示:

  • 树中节点总数在范围 [0, 5000] 内
  • -1000 <= Node.val <= 1000
  • -1000 <= targetSum <= 1000

出处:

https://edu.csdn.net/practice/27308137

代码:

import java.util.*;
import java.util.LinkedList;
public class pathSum {
    public final static int NULL = Integer.MIN_VALUE; //用NULL来表示空节点
    public static class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) {
            val = x;
        }
    }
    public static class Solution {
        public List<List<Integer>> pathSum(TreeNode root, int sum) {
            if (root == null)
                return new ArrayList<>();
            List<List<Integer>> ans = new ArrayList<>();
            if (root.val == sum && root.left == null && root.right == null) {
                List<Integer> arr = new ArrayList<>();
                arr.add(root.val);
                ans.add(arr);
                return ans;
            }
            List<List<Integer>> left = pathSum(root.left, sum - root.val);
            List<List<Integer>> right = pathSum(root.right, sum - root.val);
            for (List<Integer> list : left) {
                list.add(0, root.val);
                ans.add(list);
            }
            for (List<Integer> list : right) {
                list.add(0, root.val);
                ans.add(list);
            }
            return ans;
        }
    }
    public static TreeNode createBinaryTree(Integer[] nums) {
        Vector<Integer> vec = new Vector<Integer>(Arrays.asList(nums));
        if (vec == null || vec.size() == 0) {
            return null;
        }
        Queue<TreeNode> queue = new LinkedList<>();
        TreeNode root = new TreeNode(vec.get(0));
        queue.offer(root);
        int i = 1;
        while (!queue.isEmpty()) {
            int size = queue.size();
            for (int j = 0; j < size; j++) {
                TreeNode node = queue.poll();
                if (i < vec.size() && vec.get(i) != NULL) {
                    node.left = new TreeNode(vec.get(i));
                    queue.offer(node.left);
                }
                i++;
                if (i < vec.size() && vec.get(i) != NULL) {
                    node.right = new TreeNode(vec.get(i));
                    queue.offer(node.right);
                }
                i++;
            }
        }
        return root;
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        Integer[] nums = {5,4,8,11,NULL,13,4,7,2,NULL,NULL,5,1};
        int targetSum = 22;
        TreeNode root = createBinaryTree(nums);
        System.out.println(s.pathSum(root, targetSum));
    }
}

输出:

[[5, 4, 11, 2], [5, 8, 4, 5]]


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/ 

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

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

相关文章

启动Rabbit时出现Plugin configuration unchanged无法启动问题

文章目录 问题描述问题解决新问题 问题描述 在安装好Erlang和RabbitMQ并配置好环境变量后, 运行rabbitmq-plugins enable rabbitmq_management 命令, 出现如下问题 在启动Rabbit时出现以下内容 The folwing plugins have been configured: rabbitmq_management rabbitmq_mana…

Linux中最低调、最易让人忽视的tmp目录,原来用处那么大!

在Linux操作系统中&#xff0c;tmp目录是一个临时目录&#xff0c;用于存储临时文件。这个目录通常位于根目录下&#xff0c;命名为/tmp。本文将详细介绍Linux中的tmp目录&#xff0c;包括它的作用、权限、使用方法和安全性等方面。 作用 tmp目录用于存储临时文件&#xff0c;…

为什么成本管理在项目管理中很重要

成本管理是估算、分配和控制项目成本的过程。成本管理流程允许企业预测未来的开支&#xff0c;以减少预算超支的可能性。预计成本是在项目的规划阶段计算的&#xff0c;必须在工作开始前获得批准。 在执行项目计划时&#xff0c;会记录和跟踪费用&#xff0c;因此一切都在成本管…

聊一聊智能AI的未来

AI技术的快速发展让我们走进了一个智能时代&#xff0c;各种智能产品和服务也在迅速兴起。而小凡AI作为一家国内知名的人工智能开发公司&#xff0c;旨在为用户提供高质量、高效率、低成本的人工智能解决方案。 想象一下&#xff0c;当您需要大量进行数据处理和分析时&#xf…

IT图书翻译——痛并快乐着

作者:韩磊 整理者&#xff1a;韦小琪 作者简介 韩磊是AR 技术公司亮风台的产研副总裁。在此之前&#xff0c;他曾在大学、技术媒体和财经媒体工作&#xff0c;有多年的企业经营管理、社区与媒体运营经验。他与人合著有《网络媒体教程》&#xff0c;合译有《Beginning C# Objec…

时间复杂度

学习《代码随想录》 时间复杂度为什么要引入时间复杂度和空间复杂度&#xff1f;什么是时间复杂度&#xff1f;这个O是什么意思&#xff1f;时间复杂度越低越好&#xff1f; 内存管理什么是内存空间&#xff1f;&#xff08;C为例&#xff09;为什么总说C/C更偏向底层&#xff…

OpenCV4 学习指导2 —— 多种方式访问图像的像素值

图像像素访问 1、测试用例1.1、颜色缩减算法1.2、颜色缩减示例 2、图像矩阵的存储与访问2.1、图像的存储方式2.2、图像的访问方式2.2.1、C 指针&#xff1a;高效的访问方式2.2.2、迭代器&#xff1a;安全的访问方式2.2.3、行列索引&#xff1a;动态计算地址2.2.4、LUT 查询函数…

tiechui_lesson06_注册表操作

这节课主要学习注册表的相关操作&#xff0c;包括注册表的打开&#xff0c;读取&#xff0c;修改&#xff0c;删除。可以自己通过底层API手动来获取和设置注册表&#xff0c;也可以用微软提供的运行时函数。我的看法是底层函数用来了解原理&#xff0c;真正在代码中使用的时候还…

《三十岁,一切刚刚开始》读书笔记

目录 书籍简介 经典语句 书籍简介 在抖音上看到此书&#xff0c;顺便看了看。 《三十岁&#xff0c;一切刚刚开始》作者李尚龙。写给敢于探险、敢于突破自己的年轻人的进取之书。人这一生可以有无数种可能。 如果你近期特别丧&#xff0c;或者正处于瓶颈期间&#xff0c;不…

VLAN【实验】

虚拟局域网VLAN VLAN即虚拟局域网&#xff0c;是将一个物理的局域网在逻辑上划分成为多个广播域的技术。通过在交换机上配置VLAN&#xff0c;可以实现在同一个VLAN内的用户进行二层互访&#xff0c;而不通的VLAN间的用户被二层隔离。这样既能够隔离广播域&#xff0c;又能够提…

身临其境文化之旅——VR全景图片畅游世界各地文化景点

文化旅游是一种独特的旅游体验&#xff0c;它不仅让人们感受到异域文化的魅力&#xff0c;更能增进对世界的了解和认知。VR全景图片和文化旅游之间有着密不可分的关系。作为一种数字化技术&#xff0c;VR全景图片可以为文化旅游提供更加深入、真实、立体的体验。随着VR技术的发…

品牌宣传软文发布,多久一次合适?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 品牌宣传有许多手段&#xff0c;线下活动&#xff0c;电视广告&#xff0c;讲座&#xff0c;招商等手段&#xff0c;其中软文发布是性价比较高的一种方式&#xff0c;那么软文宣传多久一…

神奇,声网Web SDK还能这么实现直播中美颜功能

前言 本篇文章是通过使用声网Web SDK来实现直播中美颜效果的深度体验文章&#xff0c;其中发现了屏幕共享并本地合图多个视频、图片&#xff0c;声网美颜插件等功能特性十分强大和专业&#xff0c;特为此做一个技术体验的分享&#xff0c;毕竟好技术就是要去传播的。 随着音视…

深入了解Facebook广告工具和资源,优化你的营销活动

作为企业主或营销人员&#xff0c;利用Facebook的广告工具和资源&#xff0c;可以帮助你更好地推广品牌、吸引潜在客户&#xff0c;并提升销售业绩。在本文中&#xff0c;我们将深入了解Facebook的广告工具和资源&#xff0c;帮助你优化营销活动&#xff0c;实现更好的效果。 1…

Ubuntu多卡服务器、普通用户安装paddlepaddle环境

Ubuntu多卡服务器、普通用户安装paddlepaddle环境 1. 建立conda虚拟环境2. 安装paddlepaddle gpu版本2.1 选择cuda版本2.2 安装paddle 3. 验证及排错3.1 验证方法3.2 第一次报错&#xff1a;cuda问题3.3 第二次报错&#xff1a;NCCL问题&#xff08;多卡&#xff09; 4. 设置环…

echarts 地图_地图 json 免费下载_自定义icon

Echarts 常用各类图表模板配置 注意&#xff1a; 这里主要就是基于各类图表&#xff0c;更多的使用 Echarts 的各类配置项&#xff1b; 以下代码都可以复制到 Echarts 官网&#xff0c;直接预览&#xff1b; 图标模板目录 Echarts 常用各类图表模板配置一、地图二、环形图三、…

Microsoft Edge浏览器崩溃,错误代码: STATUS_STACK_BUFFER_OVERRUN

--------------------8日15:34更新------------------- 8号下午经历了短暂的兴奋&#xff0c;突然就好了&#xff0c;但是转瞬即逝&#xff0c;试用一会后就不行了。 目前使用beta版本是很稳定的。 最新版的beta也可以&#xff0c;注意数据同步。 --------------------原文-…

ChatGPT的Prompts关键词提示工程集合:包含AI绘画和GPT文本对话

文章目录 1 前言2 Awesome ChatGPT Prompts2.1 文本提示词2.2 提示词汇总2.3 绘画提示词 3 PromptBase4 Prompt-Engineering-Guide5 讨论 1 前言 明确一个概念&#xff0c;ChatGPT是一种大型的自然语言处理模型&#xff0c;它基于深度神经网络和语言模型技术&#xff0c;可以通…

c++中vector初始化的一个有趣的细节问题

vector的初始化&#xff0c;相信会写c的人都很熟悉&#xff0c;c11对此也改进了很多&#xff0c;更方便。 以下是使用vector初始化的几个例子&#xff1a; 从数组初始化vector&#xff1a; int arr[] {1, 2, 3, 4, 5}; vector<int> vec(arr, arr sizeof(arr) / size…

定时清理文件脚本

一、定时清理文件 编写一个bat脚本。新建一个文本文档&#xff08;txt文件&#xff09;&#xff0c;在里面输入echo offdel /f /s /q E:\temp\*.*&#xff0c;E代表E盘&#xff0c;temp是E盘下的需要清理的文件夹&#xff0c;运行脚本后&#xff0c;就是清理E:\temp文件夹下的…