Java每日一练(20230413)

news2024/11/15 9:16:48

目录

1. 子集 II  🌟🌟

2. 快乐数  ※

3. 整数反转  ※

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。

示例 1:

输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]

示例 2:

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

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10

出处:

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

代码:

import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
public class subsetsWithDup {
    public static class Solution {
        public List<List<Integer>> subsetsWithDup(int[] nums) {
            List<List<Integer>> retList = new ArrayList<>();
            retList.add(new ArrayList<>());
            if (nums == null || nums.length == 0)
                return retList;
            Arrays.sort(nums);
            List<Integer> tmp = new ArrayList<>();
            tmp.add(nums[0]);
            retList.add(tmp);
            if (nums.length == 1)
                return retList;
            int lastLen = 1;
            for (int i = 1; i < nums.length; i++) {
                int size = retList.size();
                if (nums[i] != nums[i - 1]) {
                    lastLen = size;
                }
                for (int j = size - lastLen; j < size; j++) {
                    List<Integer> inner = new ArrayList<>(retList.get(j));
                    inner.add(nums[i]);
                    retList.add(inner);
                }
            }
            return retList;
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        int[] nums = {1,2,2};
        System.out.println(s.subsetsWithDup(nums));
        int[] nums2 = {0};
        System.out.println(s.subsetsWithDup(nums2));
    }
}

输出:

[[], [1], [2], [1, 2], [2, 2], [1, 2, 2]]
[[], [0]]


2. 快乐数

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果 可以变为  1,那么这个数就是快乐数。

如果 n 是快乐数就返回 true ;不是,则返回 false 。

示例 1:

输入:19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

示例 2:

输入:n = 2
输出:false

提示:

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

出处:

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

代码:

import java.util.List;
import java.util.ArrayList;
public class isHappy {
    public static class Solution {
        public boolean isHappy(int n) {
            List<Integer> list = new ArrayList<Integer>();
            list.add(n);
            while (n != 1) {
                int temp = 0;
                while (n != 0) {
                    temp += (n % 10) * (n % 10);
                    n = n / 10;
                }
                n = temp;
                if (list.contains(n)) {
                    break;
                } else {
                    list.add(n);
                }
            }
            return n == 1;
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.isHappy(19));
        System.out.println(s.isHappy(2));
    }
}

输出:

true
false


3. 整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

提示:

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

出处:

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

代码:

public class reverse {
    public static class Solution {
        public int reverse(int x) {
            long xx = x;
            long r;
            long y = 0;
            boolean sign = xx < 0;
            while (xx != 0) {
                r = xx % 10;
                y = y * 10 + r;
                if (sign) {
                    xx = (long) Math.ceil(xx / 10);
                } else {
                    xx = (long) Math.floor(xx / 10);
                }
            }
            return y > Integer.MAX_VALUE || y < Integer.MIN_VALUE ? 0 : (int) y;
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        System.out.println(s.reverse(123));
        System.out.println(s.reverse(-123));
        System.out.println(s.reverse(120));
        System.out.println(s.reverse(0));
    }
}

输出:

321
-321
21
0


🌟 每日一练刷题专栏 🌟

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

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

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

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

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

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

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

相关文章

【pip换源操作】解决用pip下载Python第三方库慢问题

python自带的第三方库使用pip安装速度会很慢&#xff0c;还有可能会报错。 常见的报错信息有&#xff1a; check_hostname requires server_hostname raise ValueError(“check_hostname requires server_hostname”) ValueError: check_hostname requires server_hostname EO…

波尔模型的实验验证之类氢粒子光谱类实验

光谱产生的原因&#xff1a;原子中电子在轨道上跃迁产生&#xff0c;如莱曼系为电子从n2,3,4等轨道跃迁到n1的基态轨道产生。 中心的原点为原子核&#xff0c;中心最接接近原子核的圆为n1的电子轨道。 r_na_0n^2&#xff0c;轨道大小正比于n的平方 根据电子轨道图即可以获得…

AE开发之图层渲染20210603

AE开发之图层渲染比例符号化地图的整饰唯一值符号的符号化过程点符号设置&#xff0c;线符号设置标注图层&#xff0c;&#xff08;写得不好&#xff0c;不推荐看) 唯一值符号化&#xff0c;字段进行设置&#xff0c;这里用到了UniqueValueRenderer接口&#xff0c;这里面有一…

用pyocd读写gd32f4系列mcu的otp区

如前一篇文章所述&#xff0c;pyocd是一个调试、编程cortex-m单片机的简单、强大的工具&#xff0c;本文就结合实例讲解pyocd的一些用法。 使用j-link、dap-link等工具在keil或其它ide中调试单片机程序的场景比较常见&#xff0c;而使用这些工具对单片机片内和片外flash存储区…

[ 应急响应基础篇 ] evtx提取安全日志 事件查看器提取安全日志

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

【C++中关于abs()函数的告警问题】“abs“ is ambiguousC/C++(266)

C中关于abs()函数的告警问题 “abs” is ambiguousC/C(266) 在调试异常打卡记录这道华为OD机考题的时候&#xff0c;完成了C版本之后&#xff0c;在vscode进行调试&#xff0c;出现了如下的告警&#xff1a;abs有歧义&#xff0c;所以就开始查找到底是设什么原因&#xff1a; …

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景&#xff1a;发现经常换电脑装环境等比较麻烦&#xff0c;主要还是想记录一下&#xff0c;不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…

Wine运行器帮助——使用Qemu User运行Wine(理论支持全架构)

提醒 Qemu 的转换效率较低&#xff0c;如果可以的话建议使用其它方案以提升运行效率 此方案理论上支持全架构&#xff08;amd64、arm64、mips64、loongarch64、riscv64、ppc64、s390x……&#xff09;&#xff0c;只要能跑 Qemu User 即可&#xff0c;在 x86、arm64 真机测试通…

[建议收藏]45 个 Git 经典操作场景,专治各种不会合并代码的童鞋~~

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

FFmpeg基础

FFmpeg介绍 FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码libavcodec&#xff0c;为了保证高可移植性和编解码质量…

老胡的周刊(第086期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。&#x1f3af; 项目MochiDiffusion[2]在 MacOS 上运行原生的 Stab…

20230412-使用STM32实现内部flash模拟U盘

最近用STM32F103CBT6搞了个U盘功能 ​ 工程师干了几年后&#xff0c;基本会有小外包的生活&#xff0c;算是赚外快吧&#xff0c;搞小钱改善伙食&#xff0c;嘻嘻。。。。 ​ 最近有个客户找到我&#xff0c;说是否通过ST的单片机搞个U盘功能&#xff0c;有些文件通过U盘拖拽…

【Linux进阶篇】系统监控命令

目录 &#x1f341;proc文件系统 &#x1f341;常见系统监视命令 &#x1f343;uptime &#x1f343;free -h &#x1f343;vmstat &#x1f343;mpstat &#x1f343;iostat &#x1f343;sar &#x1f343;iotop &#x1f343;htop &#x1f343;glances &#x1f990;博客主…

Java集合Collections和元素排序之Comparable排序接口讲解

Collections工具类&#xff1a; Java里关于集合的工具类&#xff0c;包含有各种有关集合操作的静态多态方法&#xff0c;不能实例化(把构造函数私有化) 。 和Collection的区别 : Collection是接口&#xff0c;提供了对集合对象进行基本操作的通用接口方法&#xff0c;List、Set…

智能网卡相关知识(smart nic 、DPU)

网卡作为穿行在网络与计算之间的桥梁&#xff0c;是可以解决计算瓶颈的关键硬件。 随着CPU 密度和数据中心网络带宽的进一步提升&#xff0c;用户对预期性能的需求&#xff0c;系统运行平稳性都会有更高的要求。云厂商一方面面临巨大的成本压力&#xff0c;另一方面面临巨大的…

动态规划算法解决背包问题,算法分析与C语言代码实现,时间效率解析

&#x1f38a;【数据结构与算法】专题正在持续更新中&#xff0c;各种数据结构的创建原理与运用✨&#xff0c;经典算法的解析✨都在这儿&#xff0c;欢迎大家前往订阅本专题&#xff0c;获取更多详细信息哦&#x1f38f;&#x1f38f;&#x1f38f; &#x1fa94;本系列专栏 -…

28 · 搜索二维矩阵

LintCode 炼码 class Solution { public:/*** param matrix: matrix, a list of lists of integers* param target: An integer* return: a boolean, indicate whether matrix contains target*/bool searchMatrix(vector<vector<int>> &matrix, int target) …

AI制药 - AlphaFold DB PDB 数据集的多维度分析与整理 (2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/130118339 数据集&#xff1a;AlphaFold Protein Structure Database 下载地址&#xff1a;https://alphafold.ebi.ac.uk/download Alp…

springboot 部署k8s(二)

系列文章目录 目录 系列文章目录 前言 操作步骤 1.springboot.yaml文件 2.查看deployment 3.查看service服务 4.验证服务 总结 前言 springboot 部署到k8s 上。里面涉及了deployment, Service, NodePort. 操作步骤 1.springboot.yaml文件 apiVersion: apps/v1 kind: …

【C++】C/C++内存管理:

本篇的内存管理主要是动态内存管理。 1.C中的malloc、realloc、calloc和free函数&#xff1a; 【面试问题】 malloc、calloc和realloc的区别是什么&#xff1f; malloc申请的内存值是不确定的 calloc却在申请后&#xff0c;对空间逐一进行初始化&#xff0c;并设置值为0 异…