HJ56、HJ58、JZ4、JZ6、JZ15、JZ17几道题

news2024/11/28 5:28:13

文章目录

  • HJ56 完全数计算
    • 题目描述:
    • 具体实现:
  • HJ58 输入n个整数,输出其中最小的k个
    • 题目描述:
    • 具体实现:
  • JZ4 二维数组中的查找
    • 题目描述:
    • 具体实现:
  • JZ6 从尾到头打印链表
    • 题目描述:
    • 具体实现:
  • JZ15 二进制中1的个数
    • 题目描述:
    • 具体实现:
  • JZ17 打印从1到最大的n位数
    • 题目描述:
    • 具体实现:

补上这几天的每日一题

HJ56 完全数计算

题源 👉 完全数计算_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230123224900660

具体实现:

方法一:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int cnt = 0;
        while (n > 0){
            int sum = 0;
            for (int i = 1; i < n; i++){
                if (n % i == 0) sum += i;
                if (sum > n) break;
            }
            if (sum == n){
                cnt++;
            }
            n--;
        }
        System.out.println(cnt);
    }
}

HJ58 输入n个整数,输出其中最小的k个

题源 👉 输入n个整数,输出其中最小的k个_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230125215550045

具体实现:

方法一:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int k = sc.nextInt();
        int[] t = new int[n];
        for(int i = 0; i < n; i++)
            t[i] = sc.nextInt();
        Arrays.sort(t);	// 快排
        for(int i = 0; i < k; i++)
            System.out.print(t[i] + " ");
    }
}

时间复杂度:O(nlog 2 n)

空间复杂度:O(n)

JZ4 二维数组中的查找

题源 👉 二维数组中的查找_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230125223251053

image-20230125223312426

具体实现:

方法一:暴力法

public class Solution {
    public boolean Find(int target, int [][] array) {     
        int n = array.length;   // 行数
        int m = array[0].length;    // 列数        
        for(int i = 0; i < n; i++)
            for(int j = 0; j < m; j++)
                if(array[i][j] == target)   
                    return true;
        return false;
    }
}

方法二:从左下开始找

从左下开始,若当前元素<目标元素,右移;若>则上移。

若跃出边界仍未找到,返回false。

image-20230126220206068
图源官方解析
public class Solution {
    public boolean Find(int target, int [][] array) {     
        int n = array.length;   // 行数
        int m = array[0].length;    // 列数        
        if(n == 0) return false;
        if(m == 0) return false;

        for(int i = n - 1, j = 0; i >= 0 && j < m; ){
            if(array[i][j] == target) return true;
            else if(array[i][j] < target) j++;
            else i--;
        }

        return false;
    }
}

JZ6 从尾到头打印链表

题源 👉 从尾到头打印链表_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230126224311328

具体实现:

方法一:

  • 题目要求遍历单链表并从尾到头输出,即 “先进后出”(栈)。

  • ArrayList 中有 add(index, value) 方法,即将value放在index位置。 可用来实现先进后出。

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> list = new ArrayList<>();
        ListNode p = listNode;
        while(p != null){
            list.add(0, p.val);
            p = p.next;
        }
        return list;
    }
}

JZ15 二进制中1的个数

题源 👉 二进制中1的个数_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230126225500816

具体实现:

方法一:位数检查法

与 1 的二进制相与,与完后右移一位继续和 1 与,直至检查完32位。

public class Solution {
    public int NumberOf1(int n) {
        int cnt = 0;
        for(int i = 0; i < 32; i++)
            cnt += ((n >> i) & 1);
        return cnt;
    }
}

// 改进
public class Solution {
    public int NumberOf1(int n) {
        int cnt = 0;
        while(n != 0){
            if((n & 1) == 1) cnt++;	 // 写成 cnt += (n & 1)也行
            n >>>= 1;
        }
        return cnt;
    }
}

方法二:lowbit

方法三:分组统计

该方法来自 👉 【宫水三叶の剑指精选】一题四解:「位数检查」&「右移统计」&「lowbit」&「分组统计」_牛客博客 (nowcoder.net)

image-20230126233553828

image-20230126233712561

JZ17 打印从1到最大的n位数

题源 👉 打印从1到最大的n位数_牛客题霸_牛客网 (nowcoder.com)

题目描述:

image-20230126233858523

具体实现:

方法一:暴力法捏

public int[] printNumbers (int n) {
    int m = 1;
    while(n-- > 0) m *= 10;
    int[] ans = new int[m - 1];
    for(int i = 1; i < m; i++) ans[i - 1] = i;
    return ans; 
}

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

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

相关文章

springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显

springboot文件上传&#xff0c;单文件上传和多文件上传项目结构及pom.xml创建文件表单页面编写javabean编写controller映射MultipartFile类RequestPart注解controller代码application.properties中的文件上传配置遍历数据显示页面运行显示项目结构及pom.xml pom.xml: <dep…

SQL用法详解补充

本文是对上次“SQL用法详解”的一些补充&#xff0c;一些基本操作可以点击链接查看 目录 一.对表结构的常用操作 查看表结构格式 修改表结构格式 1.修改列名和类型 2.修改添加列 3.修改表删除列 4.修改表名 5.数据删除 二.总结 三.实例 解决 完整代码 一.对表结构的常用操…

TIA博途中启用或禁用DP从站或PROFINET IO设备的具体方法

TIA博途中启用或禁用DP从站或PROFINET IO设备的具体方法 在实际项目中我们会遇到这样的问题, 例如:硬件组态中配置了一个控制器和3个 PN IO设备,但是最后只用到了2个PN IO设备,这样控制器一侧无法连接到第3个PN IO设备时,CPU会产生报警,PLC的Error指示灯会一直闪烁。 那么…

蓝桥杯2021省赛Python

蓝桥杯2021省赛Python 不得不说2021的比2020的难 1.卡片 很明显&#xff0c;最先没的肯定是1或者0&#xff0c;我们只要统计到谁会消耗2022个1或者0就好了 if __name__ __main__:res1 0res0 0for i in range(1,100000):i str(i)res1 i.count(1)res0 i.count(0)if res1…

[Rust笔记] 规则宏的“卫生保健”

规则宏代码的“卫生保健”规则宏mbe即是由macro_rules!宏所定义的宏。它的英文全称是Macro By Example。相比近乎“徒手攀岩”的Cpp模板元编程&#xff0c;rustc提供了有限的编译时宏代码检查功能&#xff08;名曰&#xff1a;Mixed Hygiene宏的混合保健&#xff09;。因为rust…

pointcovn 阅读笔记

各种点云采样算法 https://blog.csdn.net/weixin_41485242/article/details/107150963 Inverse Density 1.2 Inverse Density Importance Sampling (IDIS): 这个也比较好理解&#xff0c;简而言之就是根据每个点的密度来对其重新进行排序&#xff0c;尽可能地保留密度比较低的地…

python第九章 异常笔记

和Java类似程序运行有异常的时候&#xff0c;服务器会采用系统默认的异常处理机制&#xff1a;返回信息&#xff0c;终止程序。异常的类型&#xff1a;常见异常类型&#xff1a;1.NameError&#xff1a;访问了未定义的变量2.IndexError&#xff1a;越界访问3.AttributeError&am…

网络原理-网络发展史和通信基础

目录 1.网络发展史 面向终端的计算机网络 计算机网络阶段(局域网LAN) 组网方式 计算机网络互联阶段(广域网WAN) 2.通信基础 IP地址 端口号 网络协议 协议的作用 知名协议的默认端口 协议分层 分层的作用 OSI七层模型 TCP/IP五层模型 网络设备所在分层 网络分层…

《数据结构》八大排序和拓展的排序(详细教学并提供多种版本、动态图分析)

今天&#xff0c;我将带来数据结构的排序算法&#xff0c;排序算法作为校招中常考知识点之一&#xff0c;我们必须要熟练的掌握它,对自己提出高要求&#xff0c;才能有高回报。 目录排序的概念和应用内部排序和外部排序排序算法需要掌握的知识插入排序1.直接插入排序2.希尔排序…

【教程】Python实时检测CPU和GPU的功耗

目录 前言 GPU功耗检测方法 CPU功耗检测方法 sudo的困扰与解决 完整功耗分析示例代码 转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 前言 相关一些检测工具挺多的&#xff0c;比如powertop、powerstat、s-tui等。但如何通过代码的方式来实时检测&#xf…

Unsafe Fileupload-基础篇(文件上传绕过技巧与upload-labs靶场)

数据来源 本文仅用于信息安全的学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若观众因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与本人无关。 文件上传基础 01 什么是文件上传 02 文件上传产生漏洞的原因 03 文件上传漏洞危害 0…

济人药业更新招股书:计划在A股上市,中成药业务收入持续下滑

近日&#xff0c;安徽济人药业股份有限公司&#xff08;下称“济人药业”&#xff09;递交预披露更新招股书&#xff0c;准备在上海证券交易所主板上市。据贝多财经了解&#xff0c;济人药业于2022年7月1日递交上市申请&#xff0c;此次更新了截至2022年6月30日的财务数据等信息…

Android深入系统完全讲解(42)

红色部分 pc 000007cc 代表当前 pc 指向的位置。libnative-lib.so 代表在哪个库里面。于是我 们就需要知道&#xff0c;libnative-lib.so 库的 pc 000007cc 偏移位置&#xff0c;是个什么代码。 我们从 NDK 开发包中找到 D:\android-ndk-r19c\toolchains\arm-linux-androideabi…

远程控制软件

远程控制软件1. 概述2. TeamViewer3. Todesk4. 向日葵5. AnyDesk6. Splashtop结束语1. 概述 出门在外或者工作时突然需要访问家中的电脑拿取文件或者资料时&#xff0c;是直接跑回家拿去、还是委托家里人员帮忙呢&#xff1f; 这时候你就需要一类软件来完成这个任务了&#xf…

前端图片压缩方案及代码实现

1. 为什么要进行图片压缩? 随着互联网的发展&#xff0c;图片在各种网站和应用中铺天盖地&#xff0c;运营人员在后台管理系统中上传图片时常常忽略的图片的体积大小&#xff0c;随之产生的带宽和服务器容量也大大增加&#xff0c;图片压缩的需求随之产生。 常见的压缩图片的…

【笔记】SemGCN

一. 论文总结 1.1 核心贡献 提出了一种改进的图卷积操作&#xff0c;称为语义图卷积(SemGConv)&#xff0c;它源自cnn。其关键思想是学习图中暗示的边的信道权值&#xff0c;然后将它们与核矩阵结合起来。这大大提高了图卷积的能力。其次&#xff0c;我们引入了SemGCN&#x…

GPU服务器上跑深度学习模型

1 问题来源 近期在本地 Windows 系统上跑深度学习人群计数模型时&#xff0c;由于笔记本 NVIDIA 显卡 NVIDIA GeForce GTX 1650 的专用 GPU 内存只有 4 GB&#xff0c;无法设置较大的 batchsize 进行训练&#xff0c;导致模型训练时间过长&#xff0c;且易发生内存溢出&#xf…

年初五,迎财神 | 一张码如何实现多渠道(微信、支付宝、云闪付...)收款

大家好&#xff0c;我是小悟 今天是正月初五&#xff0c;天气超级好&#xff0c;也是迎财神的日子&#xff0c;祝大家顺风顺水&#xff0c;财源滚滚&#xff0c;钱兔似锦。 既然要发财&#xff0c;那自然少不了收款咯。如果你是一个商家&#xff0c;肯定是想收款的方式越方便越…

【手写 Promise 源码】第三篇 - 实现一个简版 Promise

一&#xff0c;前言 上一篇&#xff0c;结合示例介绍了 Promise 相关功能与特性分析&#xff0c;包含以下内容&#xff1a; Promise 基础特性&#xff1b;Promise 实例 API&#xff08;原型方法&#xff09;&#xff1b;Promise 静态 API&#xff08;类方法&#xff09;&…

【数据结构】极致详解:树与二叉树(中)——顺序存储实现

目录 &#x1f4d4;前言&#x1f4d4;&#xff1a; &#x1f4d9;一、顺序存储结构&#x1f4d9;&#xff1a; &#x1f4d8;二、堆&#x1f4d8;&#xff1a; 1.堆的概念及结构&#xff1a; 2.堆的性质&#xff1a; 3.堆的实现&#xff08;本文重点&#xff09;&#xf…