Java每日一练(20230421)

news2024/10/5 16:22:11

目录

1. 整数排列  🌟

2. 数组排序  🌟

3. 单词搜索  🌟🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 整数排列

十位数的所有排列,数字0不在首位,且没有重复的数字。

出处:

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

代码:

import java.util.*;
public class Solution {
   public static void main(String[] args) {
      String str[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
      permutation(str, 0, str.length);
   }
   static void swap(String[] str, int start, int end) {
      String tmep = str[start];
      str[start] = str[end];
      str[end] = tmep;
   }
   static void permutation(String[] str, int start, int end) {
      if (start == end - 1) {
         for (int i = 0; i < end; i++) {
            System.out.print(str[i]);
         }
         System.out.println();
      } else {
         for (int i = start; i < end; i++) {
            if (i == 0 && str[0].equals("0"))
               continue;
            swap(str, start, i);
            permutation(str, start + 1, end);
            swap(str, start, i);
         }
      }
   }
}

输出:

1023456789
1023456798
1023456879
1023456897
1023456987
1023456978
1023457689
1023457698
1023457869
1023457896
1023457986
1023457968
1023458769
1023458796
1023458679
1023458697
1023458967
1023458976
1023459786
1023459768
1023459876
1023459867
1023459687
1023459678
1023465789
1023465798
1023465879
1023465897
1023465987
1023465978
1023467589
1023467598
1023467859
1023467895
1023467985
1023467958
1023468759
1023468795
1023468579
1023468597
1023468957
1023468975
1023469785
1023469758
1023469875
1023469857
1023469587
1023469578
1023476589
1023476598
1023476859
1023476895
1023476985
1023476958
...... 略 (共计3265920个十位数)


2. 数组排序

将随机生成的无序数组使用冒泡排序。

出处:

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

代码:

class demo_sort {
    public static void main(String[] args) {
        int[] numbers = new int[] { 1, 5, 8, 2, 3, 9, 4 };
        for (int i = 0; i < numbers.length - 1; i++) {
            for (int j = 0; j < numbers.length - 1 - i; j++) {
                if (numbers[j] > numbers[j + 1]) {
                    int temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                }
            }
        }
        System.out.println("从小到大排序后的结果是:");
        for (int i = 0; i < numbers.length; i++)
            System.out.print(numbers[i] + " ");
    }
}

输出:

 略


3. 单词搜索

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:false

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • board 和 word 仅由大小写英文字母组成

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

出处:

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

代码:

import java.util.*;
class exist {
    public static class Solution {
        public boolean exist(char[][] board, String word) {
            int cl = board.length;
            int rl = board[0].length;
            boolean[][] flag = new boolean[cl][rl];
            for (int i = 0; i < cl; i++) {
                for (int j = 0; j < rl; j++) {
                    if (find(board, word, flag, i, j, 0))
                        return true;
                }
            }
            return false;
        }
        public boolean find(char[][] board, String word, boolean[][] flag, int i, int j, int index) {
            int cl = board.length;
            int rl = board[0].length;
            if (word.length() == index)
                return true;
            if (i < 0 || i >= cl || j >= rl || j < 0)
                return false;
            if (flag[i][j] || word.charAt(index) != board[i][j])
                return false;
            flag[i][j] = true;
            boolean judge = find(board, word, flag, i - 1, j, index + 1) || find(board, word, flag, i + 1, j, index + 1) || find(board, word, flag, i, j - 1, index + 1) || find(board, word, flag, i, j + 1, index + 1);
            flag[i][j] = false;
            return judge;
        }
    }
    public static void main(String[] args) {
        Solution s = new Solution();
        char[][] board = {{'A','B','C','E'},{'S','F','C','S'},{'A','D','E','E'}};
        String word = "ABCCED";
        System.out.println(s.exist(board, word));
        word = "SEE";
        System.out.println(s.exist(board, word));
        word = "ABCB";
        System.out.println(s.exist(board, word));
   }
}

输出:

true
true
false


🌟 每日一练刷题专栏 🌟

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

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

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

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

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

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

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

相关文章

jmeter的界面介绍

前言 jmeter是一款进行接口自动化&#xff0c;性能测试的开源的工具 界面 jmeter菜单里面有个文件--模板&#xff0c;这个主要是一些请求不知道怎么设置时可以选择预制的一些模板 选择对应的模板点击创建&#xff0c;就可以生成一个对应的记录&#xff0c;我们选择jdbc&…

2021遥感应用组二等奖:基于机器学习回归算法的鄱阳湖水质遥感定量反演及时序变化监测研究

作品介绍 一、作品背景 鄱阳湖是中国第一大淡水湖&#xff0c;也是中国第二大湖&#xff0c;它在调节长江水位、涵养水源、改善当地气候等方面起着重大的作用。但近年来受围垦、环境污染等人类活动影响&#xff0c;鄱阳湖湿地退化严重&#xff0c;同时使鄱阳湖的容量减少&…

C语言中static的作用

在 C语言 中&#xff0c;static 通常用来修饰变量和函数。 static 修饰变量 变量按照作用域不同&#xff0c;分为全局变量和局部变量。 当static修饰全局变量时&#xff0c;该变量仍然可以在该文件的全局区域内引用&#xff0c;并且在编译阶段时为该变量分配内存&#xff0c;…

Ubuntu 安装 Samba 服务器

1. Ubuntu 安装 Samba 服务器 确认安装: dpkg -l | grep samba 安装&#xff1a; sudo apt-get install samba samba-common 卸载&#xff1a; sudo apt-get autoremove samba2. Samba 服务器配置 sudo vi /etc/samba/smb.conf在文件最后添加 [Share] commentThis is samba …

Leetcode-day3【215】数组中的第K个最大元素

文章目录 215. 数组中的第K个最大元素题目解题思路解题思路【学习】基于快速排序的选择方法 215. 数组中的第K个最大元素 题目 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#…

osg实现地球并在指定经纬度放置一个飞机模型(非osgEarth方式)

代码如下&#xff1a; #include<osgViewer/Viewer> #include<osgGA/TrackBallManipulator> #include<osg/Shape> #include<osg/ShapeDrawable> #include<osg/Texture2D> #include<osgDB/readFile> #include<osg/MatrixTransform> #…

Linux环境对Nginx开源版源码下载、编译、安装、开机自启

一、准备内容Centos8安装yum源https://blog.csdn.net/xiaochenXIHUA/article/details/127251704?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168197299116800211534092%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%

网络安全与攻防-同源策略

目录 同源策略&#xff08;浏览器控制&#xff09; 定义 思考&#xff1a; 跨域的N种方法 Jsonp 跨域资源共用&#xff08;CORS&#xff09; 预检&#xff08;OPTIONS请求&#xff09; 代理服务&#xff08;优先考虑&#xff09; 实战CORS&#xff08;Fetchnode.js&…

利用校正板对无人机影像辐射校正

无人机影像上获取到的数据是反映传感器对光响应的数值特征&#xff08;即DN值&#xff09;&#xff0c;但DN值与环境光强及相机参数有关&#xff0c;只有将其转换为反射率才能较好的反映地物的特征。一般的转换方法是使用二向反射率已知的校正板进行「单点比值」&#xff08;只…

WINNER电比例插装阀放大器

WINNER插装阀分类&#xff1a;双向流量控制阀、提动轴型单向止回常闭比例流量阀、双向流量控制常开比例压力补偿、导压级比例泄压阀、直动型降压比例泄压阀&#xff1b; 比例控制阀是一种按输入的电信号连续、按比例地控制液压系统的流量、压力和 方向的控制阀&#xff0c;其输…

SpringBoot项目的创建和使用

目录 一&#xff0c;SpringBoot 1&#xff0c;什么是SpringBoot 2&#xff0c;SpringBoot的优点 二&#xff0c;SpringBoot项目的创建和使用 1&#xff0c;项目的创建 创建方式 使用Idea创建(统一使用Idea社区版2021.x版本) 使用网页版创建&#xff08;使用Spring官网&a…

(已解决)关键词爬取百度搜索结果,返回百度安全验证,网络不给力,请稍后重试,无法请求到正确数据的问题

已解决&#xff0c;使用关键词进行百度搜索&#xff0c;然后爬取搜索结果&#xff0c;请求数据后&#xff0c;返回的是百度安全验证&#xff0c;网络不给力&#xff0c;请稍后重试。无法请求到正确数据。且尝试在header中增加Accept参数还是不行。 一、问题产生的现象 在学习过…

2024年江苏专转本到底多难?

相比较普通高考的难度来说&#xff0c;专转本的难度不算大且录取率更高一点。所以只要好好复习&#xff0c;上岸还是很容易的。&#xff08;一&#xff09;、语文的难度分析对比2022年及2023年语文的考试情况&#xff0c;考试的难度差别不大&#xff0c;也就是说语文的难度整体…

生产区域人数超员识别监测算法 yolov5

生产区域人数超员监控报警系统通过yolov5python网络模型分析技术&#xff0c;生产区域人数超员识别监测算法模型识别到现场画面区域超员时&#xff0c;立即告知后台中心进行告警提醒及时处理。Yolo意思是You Only Look Once&#xff0c;它并没有真正的去掉候选区域&#xff0c;…

C++初阶(初识命名空间及输入输出)

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式 等。熟悉C语言之后&#xff0c;对C学习有一定的帮助&#xff0c;本章节主要目标: 1. 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计不合理的地方…

spring boot3.0新特性Http客户端远程调用

1、安装依赖 <!-- For reactive support --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency>2、项目结构 3、新建配置类WebConfig package com.exa…

局域网可使用的远程工具有哪些

推荐一些局域网可使用的远程工具。 1、Splashtop&#xff1a;Splashtop 的效果非常好。 性能出色&#xff0c;拖放文件传输在不同平台之间工作&#xff0c;甚至还有语音聊天。Splashtop Personal 在局域网免费使用&#xff0c;性能出色&#xff0c;是不可多得的免费局域网远程…

进阶项目 01 使用@value注解,@ConfigurationProperties ,@PropertySource和properties文件

这可能是分布式开发的前奏&#xff0c;什么是分布式开发&#xff0c;一般在学校里面写的springboot项目&#xff0c;只有application.properties或者是application.yml文件中的一个配置信息&#xff0c;例如&#xff1a; application.yml文件中&#xff1a; #server server:po…

ServletConfig和ServletContext 的介绍和代码实现

目录 ServletConfig ServletConfig 基本介绍 ServletConfig 类能干什么 为什么需要 ServletContext 1. 方案 1-DB 2. 方案 2-ServletCntext 代码实战 ServletContext ServletContext 基本介绍 ServletContext 可以做什么 代码实战 代码实战2 ServletConfig Servle…

机器学习实战教程(八):多项式回归

多项式回归 概念 线性回归研究的是一个因变量与一个自变量之间的回归问题。 多项式回归是指在线性回归的基础上&#xff0c;通过增加非线性特征来拟合非线性数据的方法。多项式回归模型可以用一个 n 次多项式函数来近似描述目标变量和输入变量之间的关系。例如&#xff0c;对…