4个自定义倒计时

news2024/12/25 1:10:44

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>4个自定义倒计时</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            user-select: none;

            body {
                background: #0b1b2c;
            }




        }

        header {
            width: 100vw;
            height: 40px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: #cbcbcb;



            /* logo */
            figure.logo {
                width: 262px;
                height: 50px;
                /* 缩小 */
                transform: scale(0.8);
                margin-top: 2px;
                margin-left: -15px;
                border-radius: 50%;
                background: #f30303;
                box-shadow: inset 4px 4px 4px rgba(255, 255, 255, 0.6),
                    inset -4px -4px 5px rgba(0, 0, 0, 0.6);
                z-index: 99;

                figcaption {
                    background: hsl(0, 0%, 0%);
                    background-clip: text;
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                    font-weight: bold;
                    box-shadow: inset 4px 4px 4px rgba(255, 255, 255, 0.6), inset -4px -4px 5px rgba(0, 0, 0, 0.6);
                    letter-spacing: -3px;
                    line-height: 45px;
                    border-radius: 50%;
                    font-size: 40px;
                    width: 152px;
                }

                .my_name1 {
                    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.726);
                    clip-path: polygon(0% 0%, 100% 0%, 100% 50%, 0% 50%);
                    transform: translate(35%, 0%);
                }

                .my_name2 {
                    text-shadow: 1px 1px 1px hsla(160, 100%, 37%, 0.555);
                    clip-path: polygon(0% 50%, 100% 50%, 100% 100%, 0% 100%);
                    transform: translate(35%, -93%);
                }

                img {
                    width: 60px;
                    height: 35px;
                    border-radius: 50%;
                    transition: transform 0.3s ease;
                    position: absolute;

                    &:hover {
                        transform: scale(1.3);
                        filter: drop-shadow(0 0 0.3em #ff0202);
                    }
                }


                .kong {
                    margin-top: 7px;
                    margin-left: 200px;
                }

                .ying {
                    top: 7px;
                    margin-left: 2px;

                }
            }

            /* 时间 */
            time {
                background: -webkit-linear-gradient(315deg, #e1ff00 50%, #ff0000);
                background-clip: text;
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                font-size: 1.5rem;
                font-weight: 900;
                text-shadow: 2px -1px 8px rgba(250, 80, 193, 0.323);

                sub {
                    -webkit-text-fill-color: #cfd601;
                    text-shadow: 1px 1px 1px #100000;
                    font-size: 1rem;
                }
            }



            /* 全屏还原关闭按钮 */
            menu {
                display: flex;

                button {
                    background: none;
                    border: none;
                }

                img {
                    width: 35px;
                    margin-top: 5px;
                    margin-right: 5px;
                    cursor: pointer;

                    &:hover {
                        transform: scale(1.2);
                        padding: 5px;
                        background: #ffd000;
                    }
                }

                button:nth-child(2) {
                    display: none;
                    /* 放大镜效果 */
                    transform: scale(1.16);
                }
            }
        }

        main {

            display: flex;
            flex-direction: column;
            align-items: center;

            button {
                font-size: 1.5rem;
                color: #d6d301;
                text-shadow: 1px 1px 1px #100000;
                font-weight: bold;
                cursor: pointer; 
                border-radius: 3px;
                background-color: #f30303;
                border: none;
                margin: 5px;
                padding: 3px;
            }

         


            dialog {
                transform: translate(180%, 80%);
                z-index: 999;
            }

            div {
                margin-top: 20px;
                color: #67c23a;
                text-shadow: 1px 1px 1px #100000;
            }
        }
    </style>
</head>

<body>
    <header>
        <!-- logo -->
        <figure class="logo">
            <a href="https://blog.csdn.net/lulei5153?spm=1011.2415.3001.5343" title="与妖为邻CSDN博客" target="_blank">
                <img class="kong" src="file:///D:/img/icon.ico" alt="与妖为邻">
            </a>
            <figcaption class="my_name1">与妖为邻</figcaption>
            <figcaption class="my_name2">与妖为邻</figcaption>

            <a href="file:///D:/web/html%E9%A6%96%E9%A1%B5/%E5%A4%87%E5%BF%98%E5%BD%95.html" class="home_page"
                title="首页" target="_blank">
                <img class="ying" src="file:///D:/img/ying.png" alt="与妖为邻">
            </a>

        </figure>
        <!-- 时间 -->
        <time datetime="2024-07-10" title="2024-07-10" id="dateTime">2024-07-10</time>

        <!-- 天气 -->
        <iframe class="tianqi" frameborder="0" width="280" height="36" scrolling="no" hspace="0"
            src="https://i.tianqi.com/?c=code&id=99">
        </iframe>

        <!-- 全屏还原关闭按钮 -->
        <menu>
            <button class="fullScreen" type="button"><img src="file:///D:/img/全屏.svg" alt="全屏"
                    onclick="fullScreen()"></button>
            <button class="exitFullScreen" type="button"><img src="file:///D:/img/还原.svg" alt="还原"
                    onclick="exitFullScreen()"></button>
            <button type="button"><img src="file:///D:/img/关闭.svg" alt="关闭" onclick="closeAll()"> </button>
        </menu>
    </header>
    <main>
        <!-- 第一个倒计时 -->
        <button onclick="dialogCountdownElement1.showModal()" id="countdownElement1">第一个倒计时</button>
        <dialog id="dialogCountdownElement1">
            <form method="dialog">
                <div>
                    <label for="message1">更改提示信息:</label>
                    <input type="text" id="message1" value="距离2024年国庆节还有:">
                </div>
                <div>
                    <label for="targetDate1">更改目标日期:</label>
                    <input type="datetime-local" id="targetDate1">
                </div>
                <button type="submit" style="display: block; margin: 5px auto;">关闭</button>
            </form>
        </dialog>

        <!-- 第二个倒计时 -->
        <button onclick="dialogCountdownElement2.showModal()" id="countdownElement2">第二个倒计时</button>
        <dialog id="dialogCountdownElement2">
            <form method="dialog">
                <div>
                    <label for="message2">更改提示信息:</label>
                    <input type="text" id="message2" value="距离2024年国庆节还有:">
                </div>
                <div>
                    <label for="targetDate2">更改目标日期:</label>
                    <input type="datetime-local" id="targetDate2">
                </div>
                <button type="submit" style="display: block; margin: 5px auto;">关闭</button>
            </form>
        </dialog>

        <!-- 第三个倒计时 -->
        <button onclick="dialogCountdownElement3.showModal()" id="countdownElement3">第三个倒计时</button>
        <dialog id="dialogCountdownElement3">
            <form method="dialog">
                <div>
                    <label for="message3">更改提示信息:</label>
                    <input type="text" id="message3" value="距离2024年国庆节还有:">
                </div>
                <div>
                    <label for="targetDate3">更改目标日期:</label>
                    <input type="datetime-local" id="targetDate3">
                </div>
                <button type="submit" style="display: block; margin: 5px auto;">关闭</button>
            </form>
        </dialog>

        <!-- 第四个倒计时 -->
        <button onclick="dialogCountdownElement4.showModal()" id="countdownElement4">第四个倒计时</button>
        <dialog id="dialogCountdownElement4">
            <form method="dialog">
                <div>
                    <label for="message4">更改提示信息:</label>
                    <input type="text" id="message4" value="距离2024年国庆节还有:">
                </div>
                <div>
                    <label for="targetDate4">更改目标日期:</label>
                    <input type="datetime-local" id="targetDate4">
                </div>
                <button type="submit" style="display: block; margin: 5px auto;">关闭</button>
            </form>
        </dialog>
        <div>
            <h2>2025主要节日时间表</h2>
            <ul>
                <li>元旦:2025年1月1日</li>
                <li>春节:2025年2月12日</li>
                <li>清明节:2025年4月4日</li>
                <li>劳动节:2025年5月1日</li>
                <li>端午节:2025年6月2日</li>
                <li>中秋节:2025年9月21日</li>
                <li>国庆节:2025年10月1日</li>
            </ul>
        </div>
    </main>

    <script>
        /* 现在时间*/
        var current_time = document.getElementById("dateTime");
        function showTime() {
            var now = new Date();
            var year = now.getFullYear();
            var month = ("0" + (now.getMonth() + 1)).slice(-2);
            var day = ("0" + now.getDate()).slice(-2);
            var hour = ("0" + now.getHours()).slice(-2);
            var min = ("0" + now.getMinutes()).slice(-2);
            var second = ("0" + now.getSeconds()).slice(-2);
            var week = [
                "星期日",
                "星期一",
                "星期二",
                "星期三",
                "星期四",
                "星期五",
                "星期六",
            ][now.getDay()];
            var time = `${year}-${month}-${day}<sub id='sub'>${week}</sub> ${hour}:${min}:${second}`;
            current_time.innerHTML = time;
        }
        showTime();
        setInterval(showTime, 1000);
        /* 现在时间 结束*/
         /* 全屏功能与关闭*/
    function fullScreen() {
        var elem = document.documentElement;
        if (elem.requestFullscreen) {
            elem.requestFullscreen();
        } else if (elem.mozRequestFullScreen) { // Firefox
            elem.mozRequestFullScreen();
        } else if (elem.webkitRequestFullscreen) { // Chrome, Safari and Opera
            elem.webkitRequestFullscreen();
        } else if (elem.msRequestFullscreen) { // IE/Edge
            elem.msRequestFullscreen();
        }
    }
    function exitFullScreen() {
        if (document.exitFullscreen) {
            document.exitFullscreen();
        } else if (document.mozCancelFullScreen) { // Firefox
            document.mozCancelFullScreen();
        } else if (document.webkitExitFullscreen) { // Chrome, Safari and Opera
            document.webkitExitFullscreen();
        } else if (document.msExitFullscreen) { // IE/Edge
            document.msExitFullscreen();
        }
    }
    // 获取全屏和还原按钮
    var fullScreenBtn = document.querySelector(".fullScreen");
    var exitFullScreenBtn = document.querySelector(".exitFullScreen");
    // 监听全屏和还原事件
    document.addEventListener("fullscreenchange", function () {
        if (document.fullscreenElement) {
            fullScreenBtn.style.display = "none";
            exitFullScreenBtn.style.display = "block";
        } else {
            fullScreenBtn.style.display = "block";
            exitFullScreenBtn.style.display = "none";
        }
    });
    // 关闭当前窗口
    function closeAll() {
        window.close();
    }
    /* 全屏功能与关闭 结束*/
        /* 倒计时功能实现*/
        // 加载时从localStorage读取数据
        window.onload = function () {
            var message1 = localStorage.getItem('message1');
            var targetDate1 = localStorage.getItem('targetDate1');
            var message2 = localStorage.getItem('message2');
            var targetDate2 = localStorage.getItem('targetDate2');
            var message3 = localStorage.getItem('message3');
            var targetDate3 = localStorage.getItem('targetDate3');
            var message4 = localStorage.getItem('message4');
            var targetDate4 = localStorage.getItem('targetDate4');

            if (message1) {
                document.getElementById('message1').value = message1;
            }
            if (targetDate1) {
                document.getElementById('targetDate1').value = targetDate1;
            }
            if (message2) {
                document.getElementById('message2').value = message2;
            }
            if (targetDate2) {
                document.getElementById('targetDate2').value = targetDate2;
            }
            if (message3) {
                document.getElementById('message3').value = message3;
            }
            if (targetDate3) {
                document.getElementById('targetDate3').value = targetDate3;
            }
            if (message4) {
                document.getElementById('message4').value = message4;
            }
            if (targetDate4) {
                document.getElementById('targetDate4').value = targetDate4;
            }
        };

        // 保存数据到localStorage
        function saveData1() {
            var message1 = document.getElementById('message1').value;
            var targetDate1 = document.getElementById('targetDate1').value;

            localStorage.setItem('message1', message1);
            localStorage.setItem('targetDate1', targetDate1);
        }

        function saveData2() {
            var message2 = document.getElementById('message2').value;
            var targetDate2 = document.getElementById('targetDate2').value;

            localStorage.setItem('message2', message2);
            localStorage.setItem('targetDate2', targetDate2);
        }

        function saveData3() {
            var message3 = document.getElementById('message3').value;
            var targetDate3 = document.getElementById('targetDate3').value;

            localStorage.setItem('message3', message3);
            localStorage.setItem('targetDate3', targetDate3);
        }

        function saveData4() {
            var message4 = document.getElementById('message4').value;
            var targetDate4 = document.getElementById('targetDate4').value;

            localStorage.setItem('message4', message4);
            localStorage.setItem('targetDate4', targetDate4);
        }

        // 监听输入框的变化并保存数据
        document.getElementById('message1').addEventListener('input', saveData1);
        document.getElementById('targetDate1').addEventListener('input', saveData1);
        document.getElementById('message2').addEventListener('input', saveData2);
        document.getElementById('targetDate2').addEventListener('input', saveData2);
        document.getElementById('message3').addEventListener('input', saveData3);
        document.getElementById('targetDate3').addEventListener('input', saveData3);
        document.getElementById('message4').addEventListener('input', saveData4);
        document.getElementById('targetDate4').addEventListener('input', saveData4);

        function showCountdown1() {
            var message1 = document.getElementById('message1').value;
            var targetDateInput1 = document.getElementById('targetDate1');
            var targetDateValue1 = targetDateInput1.value;
            var now = new Date();
            var targetDate1;

            if (targetDateValue1) {
                targetDate1 = new Date(targetDateValue1);
            } else {
                targetDate1 = new Date(2024, 9, 1); // 默认值:2024年10月1日
            }

            var diff1 = targetDate1 - now;

            var days1 = Math.floor(diff1 / (1000 * 60 * 60 * 24));
            var hours1 = Math.floor((diff1 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes1 = Math.floor((diff1 % (1000 * 60 * 60)) / (1000 * 60));
            var seconds1 = Math.floor((diff1 % (1000 * 60)) / 1000);

            var countdownElement1 = document.getElementById('countdownElement1');
            countdownElement1.innerHTML = `${message1}${days1}天${hours1}小时${minutes1}分${seconds1}秒`;
        }

        function showCountdown2() {
            var message2 = document.getElementById('message2').value;
            var targetDateInput2 = document.getElementById('targetDate2');
            var targetDateValue2 = targetDateInput2.value;
            var now = new Date();
            var targetDate2;

            if (targetDateValue2) {
                targetDate2 = new Date(targetDateValue2);
            } else {
                targetDate2 = new Date(2024, 9, 1); // 默认值:2024年10月1日
            }

            var diff2 = targetDate2 - now;

            var days2 = Math.floor(diff2 / (1000 * 60 * 60 * 24));
            var hours2 = Math.floor((diff2 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes2 = Math.floor((diff2 % (1000 * 60 * 60)) / (1000 * 60));
            var seconds2 = Math.floor((diff2 % (1000 * 60)) / 1000);

            var countdownElement2 = document.getElementById('countdownElement2');
            countdownElement2.innerHTML = `${message2}${days2}天${hours2}小时${minutes2}分${seconds2}秒`;
        }

        function showCountdown3() {
            var message3 = document.getElementById('message3').value;
            var targetDateInput3 = document.getElementById('targetDate3');
            var targetDateValue3 = targetDateInput3.value;
            var now = new Date();
            var targetDate3;

            if (targetDateValue3) {
                targetDate3 = new Date(targetDateValue3);
            } else {
                targetDate3 = new Date(2024, 9, 1); // 默认值:2024年10月1日
            }

            var diff3 = targetDate3 - now;

            var days3 = Math.floor(diff3 / (1000 * 60 * 60 * 24));
            var hours3 = Math.floor((diff3 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes3 = Math.floor((diff3 % (1000 * 60 * 60)) / (1000 * 60));
            var seconds3 = Math.floor((diff3 % (1000 * 60)) / 1000);

            var countdownElement3 = document.getElementById('countdownElement3');
            countdownElement3.innerHTML = `${message3}${days3}天${hours3}小时${minutes3}分${seconds3}秒`;
        }

        function showCountdown4() {
            var message4 = document.getElementById('message4').value;
            var targetDateInput4 = document.getElementById('targetDate4');
            var targetDateValue4 = targetDateInput4.value;
            var now = new Date();
            var targetDate4;

            if (targetDateValue4) {
                targetDate4 = new Date(targetDateValue4);
            } else {
                targetDate4 = new Date(2024, 9, 1); // 默认值:2024年10月1日
            }

            var diff4 = targetDate4 - now;

            var days4 = Math.floor(diff4 / (1000 * 60 * 60 * 24));
            var hours4 = Math.floor((diff4 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes4 = Math.floor((diff4 % (1000 * 60 * 60)) / (1000 * 60));
            var seconds4 = Math.floor((diff4 % (1000 * 60)) / 1000);

            var countdownElement4 = document.getElementById('countdownElement4');
            countdownElement4.innerHTML = `${message4}${days4}天${hours4}小时${minutes4}分${seconds4}秒`;
        }

        showCountdown1();
        setInterval(showCountdown1, 1000);
        showCountdown2();
        setInterval(showCountdown2, 1000);
        showCountdown3();
        setInterval(showCountdown3, 1000);
        showCountdown4();
        setInterval(showCountdown4, 1000);
        /* 倒计时功能实现 结束*/

    </script>
</body>

</html>

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

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

相关文章

DedeCms 织梦系统 漏洞 上传webshell复现 四种方法 超详细

DedeCMS是织梦团队开发PHP 网站管理系统&#xff0c;它以简单、易用、高效为特色&#xff0c;组建出各种各样各具特色的网站&#xff0c;如地方门户、行业门户、政府及企事业站点等。 目录 方法一 &#xff1a;通过⽂件管理器上传WebShell 方法二&#xff1a;修改模板⽂件拿…

邻接矩阵实现图的存储

目录 一. 前言 二. 用邻接矩阵来实现图的存储 一. 前言 1. 图的定义 所谓图就是包含顶点和边的集合&#xff0c;是一种多对多的关系。用符号表示为&#xff1a;G(V,E)。其中&#xff0c;V代表顶点&#xff08;数据元素&#xff09;的有穷非空集合&#xff0c;E代表边的有穷集…

AI4-PPOCRLabel安装

推荐环境&#xff1a; - PaddlePaddle > 2.1.2 - Python 3.7 - CUDA10.1 / CUDA10.2 - CUDNN 7.6 1、安装Anaconda 说明&#xff1a;使用paddlepaddle需要先安装python环境&#xff0c;这里我们选择python集成环境Anaconda工具包 Anaconda是1个常用的python包管理程序 安装完…

虚拟机连接xshell的三种方式

第一 桥接 改为输入 systemctl restart network 关闭自启动防火墙 systemctl stop firewalld systemctl disable firewalld 查看本机网络信息 ifconfig 连接xshell 第二 nat 第三 仅主机

探索 Electron:打造深度书籍挖掘机的搜索体验

Electron是一个开源的桌面应用程序开发框架&#xff0c;它允许开发者使用Web技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序&#xff0c;它的出现极大地简化了桌面应用程序的开发流程&#xff0c;让更多的开发者能够利用已有的 Web 开发技能…

react-native从入门到实战系列教程-React Native Elements

react-native的ui框架内网真的是屈指可数&#xff0c;能用的成熟的几乎找不到。不像web端的繁荣景象&#xff0c;可以用荒凉来形容不为过。 京东的nutui说也支持react-native,官网及其简陋。尝试了未成功运行&#xff0c;可能是项目类型不同&#xff0c;对比其他类型的ui库都分…

centos安装es、kibana、ik

这里es使用的是7.10.2版本的es&#xff0c;物料包下载地址如下 #注意安装的插件需和es版本保持一致 #es https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz #kibana https://artifacts.elastic.co/downloads/kibana/kibana-7.10…

phpMyAdmin之CMS靶场

方法一&#xff1a;通过日志文件拿webshell 常用的语句如下&#xff1a; show global variables like %general%; set global general_logon; set global general_log_file D:/phpStudy_pro/WWW/muma.php; show global variables like %general%; select <?php eval($_…

广西南宁高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

南宁高校大学智能制造实验室&#xff0c;作为该地区乃至全国智能制造领域的重要研究和教学基地&#xff0c;一直致力于探索和创新智能制造技术。近日&#xff0c;该实验室的数字孪生可视化系统平台建设项目成功通过了验收&#xff0c;标志着其在数字孪生技术领域取得了重大突破…

c语言排序(2)

前言 在上一篇文章&#xff0c;我们学习了插入排序&#xff0c;选择排序以及交换排序中的冒泡排序&#xff0c;接下来我们继续学习交换排序、归并排序以及非比较排序。 1. 快速排序 快速排序是交换排序的一种&#xff0c;它的基本思想&#xff1a;任取待排序序列中的某元素作…

z3基础学习

z3基础学习 ​ z3是一个微软出品的开源约束求解器&#xff0c;能够解决很多种情况下的给定部分约束条件寻求一组满足条件的解的问题。 安装&#xff1a;pip install z3-solver 1. 简单使用 from z3 import * x Int(x) #创建名为x的int类型变量 y Int(y) solve(x y10,2*x…

【Verilog-CBB】开发与验证(1)——开个头

在Verilog代码设计的过程中&#xff0c;经常会涉及到一些常用组件的应用&#xff0c;比如仲裁器、打拍器、RS双向打拍器等。这些组件如果重复开发就会降低效率。这些常用的组件业内称为CBB&#xff08;Common Building Block&#xff09;。本专栏旨在开发一些好用易用的CBB&…

前端拥抱AI:LangChain.js 入门遇山开路之PromptTemplate

PromptTemplate是什么 PromptTemplate是一个可重复使用的模板&#xff0c;用于生成引导模型生成特定输出的文本。与Prompt的区别: PromptTemplate相对于普通Prompt的优势&#xff0c;即其灵活性和可定制性。 简单了解PromptTemplate后&#xff0c;咱们就来聊聊LangChain里的P…

Linux配置FTP服务

一、FTP服务基本信息 FTP服务器&#xff1a;一种应用广泛且古老的互联网文件传输协议&#xff0c;主要用于文件的双向传输。 默认端口号&#xff1a;21 全称&#xff1a;vsftpd 二、搭建FTP服务 1.关闭防火墙和selinux&#xff08;若linux系统没有这两种功能&#xff0c;跳…

最大化性能:VPS 主机优化技巧

如何让您的VPS更高效。VPS(虚拟专用服务器)是扩展网站具备成本效益的托管选项之一&#xff0c;虽然整体性能不错&#xff0c;但大多数用户并不知道&#xff0c;一些基本的优化&#xff0c;例如更改默认设置和降低负载&#xff0c;可能会大大提高其网站的速度。本文将为您介绍一…

阿里云ossbrowser安装及使用

ossbrowser是阿里云官方提供的OSS图形化管理工具&#xff0c;提供类似Windows资源管理器的功能。 阿里云对象存储OSS&#xff08;Object Storage Service&#xff09;是一款海量、安全、低成本、高可靠的云存储服务&#xff0c;可提供99.9999999999%&#xff08;12个9&#xf…

运放开环增益,闭环增益,增益带宽积与频率的关系。压摆率对输出信号影响,TINA仿真验证

开环增益 运放开环增益AOL&#xff0c;运放负反馈形成固定放大倍数的闭环增益&#xff0c;形成的条件是建立在AOL无穷大”的基础之上&#xff0c;实际运放的AOL并不是无穷大&#xff0c;是和频率有关系的。 当AOL不是无穷大时候&#xff0c;虚短是不成立的。并且当AOL比较小的时…

算法日记day 27(回溯之N皇后|解数独)

一、N皇后 题目&#xff1a; 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n…

【C++】map|set|原理使用|multiset|multimap|operator[]|

目录 一&#xff0c;关联式容器 二&#xff0c;键值对 2.1为什么使用键值对 2.2make_pair() 三&#xff0c;STl关联容器 四&#xff0c;set 4.1模板参数 4.2默认构造 4.3使用 去重功能和自动排序 4.4增删查 insert find erase 五&#xff0c;multiset count e…

面试官:使用 xxl-job 怎样解决任务重叠问题?

大家好&#xff0c;我是君哥。今天分享批量任务的重叠问题。 面试官&#xff1a;聊聊你用过的任务调度框架&#xff1f; 我&#xff1a;目前任务调度框架的选择有很多&#xff0c;比如业内熟悉的 QuartZ&#xff0c;Spring Batch&#xff0c;xxl-job&#xff0c;以及新一代的…