每日一道Leetcode算法—— Palindrome Number——2019.01.24

BMS保护板原理图+PCB+固件源码+bin文件+上位机 BMS保护板原理图+PCB+固件源码+bin文件+上位机 单片机是STM32F303CCT6 1、带有软电源开关输入,带 LED (LOAD) 开/关 + 充电指示灯; 2、具有高压侧电源开关,控制通断; 3、隔离式 CAN 总线接口; 4、电流测量; 5、带有短路检测; 6、带有USB 接口通信和固件升级; 7、蜂鸣器指示错误状态; 8、体积小巧; 9、短时间最大负载电流+/- 100A,长时间约为70A; 10、最大充电电流 10A(带二极管)或 30A(带二极管旁路); 11、电池电压范围为 2.5V 至 4.5V; 12、包电压 12V 至 54V; 立即下载

中文:

确定一个整数是否是回文。当它向前读取和向后读取一样时,这个整数是回文数。

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: 从左到右读取,他为-121,从右到左读取,他为121-,所以它不是一个回文数。

Example 3:

Input: 10
Output: false
Explanation: 从右到左读为01,所以不是回文数。

Follow up:

你能不转化成字符串而解决这个问题吗?

英文:

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up:

Coud you solve it without converting the integer to a string?

 


解题思路:

(1)小于0的不是回文数,因为有负号。

(2)大于0,但刚好是10的整数倍的

(3)将每一位拆到数组中,然后判断数组的0位和最后一位,1位和n-1位,2位和n-2位......是否一致。

package cn.leetcode.easy;

import java.util.ArrayList;
import java.util.List;

/**
 * Palindrome Number
 * Determine whether an integer is a palindrome.
 * An integer is a palindrome when it reads the same backward as forward.
 *
 * @author kimtian
 */
public class PalindromeNumber {
    /**
     * 回文数
     * 解题思路:
     * (1)小于0的不是回文数,因为有负号。
     * (2)大于0,但刚好是10的整数倍的
     * (3)将每一位拆到数组中,然后判断数组的0位和最后一位,1位和n-1位,2位和n-2位......是否一致。
     *
     * @param x 待判断的整型数
     * @return 是否是回文数
     */
    public static boolean isPalindrome(int x) {
        boolean flag = false;
        //如果x<0,则表示x为负数,负数有负号不可能为回文数
        if (x < 0) {
            return false;
        }
        //如果x不为0,且x除10没有余数,则表示x为0结尾的正数,那么翻转之后不可能为回文数
        if (x % 10 == 0 && x != 0) {
            return false;
        }
        //创建一个存放每一位元素的集合
        List numlist = new ArrayList();
        while (x > 0) {
            //x%10的余数放入集合列表中
            numlist.add(x % 10);
            //每次除10,相当于把最小的位丢掉,因为已经存在集合列表中了
            x /= 10;
        }
        for (int i = 0; i < numlist.size() / 2; i++) {
            // 判断数组的0位和最后一位,1位和倒数第二位,2位和倒数第三位......是否相同,不相同则直接返回false
            if (!(numlist.get(i) == numlist.get(numlist.size() - i - 1))) {
                return flag;
            }
        }
        flag = true;
        return flag;
    }

    public static void main(String[] args) {
        System.out.println(isPalindrome(12222421));
        System.out.println(isPalindrome(121));
        System.out.println(isPalindrome(10));
    }
}

 

【带状电容器计算用于电容式触摸传感器应用】半数值模型的电容式触摸传感器集成于金属基材涂层中研究(Matlab代码实现) 内容概要:本文针对电容式触摸传感器在金属基材上应用时易受干扰导致信号衰减的问题,提出一种集成于金属基材涂层中的带状电容器半数值计算模型。通过理论推导建立传感器电容的数学模型,设定合理的边界条件并采用数值方法求解,利用Matlab实现完整的仿真代码,对传感器在金属背景下的电容特性进行精确建模与性能分析。该方法有效提升了传感器的灵敏度与抗干扰能力,适用于高精度、复杂环境下的触摸感应场景,具有良好的工程应用价值。研究不仅提供了详细的建模流程与仿真验证,还开放了可复现的代码资源,便于后续优化与拓展。; 适合人群:从事电容式传感器设计、嵌入式系统开发、人机交互技术研究及相关领域的科研人员,以及具备电磁场理论基础和Matlab编程能力的硕士、博士研究生;; 使用场景及目标:①用于金属表面电容式触摸传感系统的建模与性能优化;②为抗金属干扰传感器提供有效的半数值仿真方法与技术支撑;③辅助高校科研与教学中对电容耦合机制的理解及仿真平台搭建; 阅读建议:建议结合Matlab代码逐模块调试,深入理解模型中几何参数、材料属性及边界条件对电容输出的影响规律,可进一步推广至其他复杂结构或非理想环境下的传感器设计中。 立即下载

相关推荐

(Multisim课设资料)最全面函数信号发生器(三角波+正弦波+方波信号+锯齿波仿真设计+报告文档

内容概要:本文档是一份综合性科研技术资源汇总,系统梳理了工程与计算机科学领域的多项关键技术及其实现方法,涵盖图像处理、路径规划、无人机应用、通信技术、信号处理、电力系统优化、车间调度、雷达技术、微电网与综合能源系统调度等多个前沿方向。文档重点提供了基于Matlab和Simulink的丰富仿真案例,包括裂纹检测、双目视觉体积测量、卡尔曼滤波状态估计、永磁同步电机控制、无功优化、多目标调度算法(如NSGA-II、粒子群算法)在能源与交通系统中的应用,以及遗传算法、差分进化、人工蜂群等智能优化算法的代码实现。资源强调理论与实践深度融合,配套完整的仿真模型、算法代码与实验结果,具有较强的工程复现价值和科研指导意义。; 适合人群:具备一定编程基础的研究生、科研人员及从事自动化、电气工程、控制工程、通信、人工智能等相关领域工作的技术人员,尤其适合有1-3年工作经验的研发人员。; 使用场景及目标:①用于高校课程设计、毕业设计、科研项目开发和技术复现;②支撑电力系统优化、智能制造调度、智能交通路径规划、无人机控制等实际工程问题的算法研究与仿真验证;③帮助读者掌握主流优化算法与信号处理技术的核心原理与代码实现。; 阅读建议:建议读者结合文中提供的Matlab/Simulink代码与仿真模型进行实践操作,优先选择与自身研究方向相关的主题深入学习,并参考所提供的网盘链接获取完整资源以辅助调试与复现实验结果。

AI编码助手成本效率评估:从Grok与GPT对比到工程实践指南

在AI辅助开发领域,大语言模型(LLM)已成为提升开发效率的重要工具。其核心原理是通过对海量代码和文本的预训练,学习编程语言的语法、逻辑和模式,从而理解开发者意图并生成或优化代码。这项技术的价值在于能够显著减少重复性编码工作、辅助代码审查与调试,并加速开发迭代周期。在实际应用中,开发者常面临代码生成、bug修复、文档编写等场景,但不同模型在准确性、响应速度和API调用成本上存在差异。因此,科学评估模型的“编码成本效率”——即综合考量经济成本、时间成本与任务完成质量——成为工程选型的关键。本文围绕这一主题,通

weixin_30482181的博客 397

无刷直流电机BLDC无感+滑模观测器+转速电流双闭环PI控制(总共三个仿真模型)(Simulink仿真实现)

内容概要:本文档系统阐述了无刷直流电机(BLDC)在无位置传感器条件下的高性能控制策略,基于Simulink平台构建了三个相互关联的仿真模型,重点实现无感控制与滑模观测器(Sliding Mode Observer, SMO)相结合的转速电流双闭环PI控制系统。该资源摒弃了传统的霍尔传感器,利用滑模观测器实时估算转子的位置与转速信息,有效降低了系统成本并提升了在恶劣环境下的运行可靠性。仿真模型完整涵盖了逆变电路、空间矢量脉宽调制(SVPWM)、三相电流采样、坐标变换(Clark & Park)、PI调节器以及滑模观测器等核心模块,形成了一个闭环的、高动态响应的电机驱动系统。此外,文档还集成了模糊PID、传统PID等多种控制算法的对比仿真模型,便于研究者深入分析不同控制策略在动态响应、抗干扰能力和稳态精度方面的性能差异,为电机控制算法的研究与工程化应用提供了坚实的仿真验证基础。; 适合人群:具备自动控制理论、电机拖动原理及电力电子技术基础知识,并熟悉MATLAB/Simulink软件操作的电气工程、自动化、机电一体化等专业的高年级本科生、硕士研究生,以及从事电机驱动、新能源汽车、工业自动化等领域的研发工程师和技术人员。; 使用场景及目标:①深入学习和掌握无刷直流电机无位置传感器控制的基本原理与实现方法;②系统性地理解滑模观测器的设计思想、稳定性分析及其在转子位置与速度估计中的关键技术;③对比研究传统PI控制、模糊PID控制及滑模观测器在BLDC调速系统中的综合性能,分析其在不同工况下的鲁棒性与适应性;④为毕业设计、科研课题或工业项目中的电机控制系统开发提供可复用的仿真平台与技术参考。; 阅读建议:本资源以Simulink仿真为核心载体,建议使用者结合文档中提供的详细说明报告与参考文献,循序渐进地理解各功能模块的设计逻辑与参数整定方法。在学习过程中,务必动手运行并调试仿真模型,仔细观察并记录在不同负载突变、转速指令变化等工况下,电机的三相电流、转速响应曲线及滑模观测器输出的转子位置与速度的动态波形,从而深刻理解控制算法的内在机理。为进一步提升实践与创新能力,可尝试修改控制器参数(如PI增益、滑模增益),或替换不同的控制策略进行对比实验,探究其对系统性能的影响。

每日一道Leetcode算法——如何判断一个链表是否有环,并求出环的入口和环的长度——2019.01.12

判断一个链表是否有环有两种办法: 一种最经典是定义两个指针,一个指针每次向前走一步,一个指针每次向前走两步,如果两个指针最终重合。则证明有环。 一种是创建一个hash表,将每次走过的结点放入hash表中,如果结点在hash表中,则表示存在环。 判断链表的入口: 假设两个指针第一次相遇点为m,此时令一个指针从头结点向下走,每次走一步,令另一个指针从相遇点往下走,每次走一步,两个指针相遇的位置...

third_的博客 903

PCIe 物理层(Physical Layer)详解

PCIe物理层关键技术解析 PCIe物理层作为协议栈底层核心,承担着比特流传输、链路训练与电气特性管理等关键功能。该层采用分层架构,包含逻辑物理层(负责编解码/加扰)和电气物理层(处理信号收发)。关键技术亮点包括: 智能链路管理:通过LTSSM状态机实现11种状态转换,涵盖链路检测(Detect)、协商(Polling/Configuration)、功耗管理(L0s/L1)等全生命周期控制 高效编码方案:Gen1/Gen2采用8b/10b编码(20%开销),Gen3+升级为128b/130b(仅1.5%开销

珂珂可爱多 725

【漏洞复现】7-Zip目录穿越漏洞(CVE-2025-11001)

摘要:CVE-2025-11001是7-Zip(v21.02-v24.09)Windows版处理ZIP包符号链接时的高危漏洞,攻击者可构造恶意ZIP文件实现目录穿越和任意文件写入。漏洞源于路径检查缺陷,当用户解压含特殊符号链接的压缩包时,可能将文件写入系统目录。复现利用GitHub公开的Python脚本(https://github.com/pacbypass/CVE-2025-11001)可生成攻击包,需注意该漏洞仅影响Windows且需要用户交互。

LongL_GuYu的博客 1606

每日一道Leetcode算法—— Unique Email Addresses——2019.01.16

  问题: 英文: Every email consists of a local name and a domain name, separated by the @ sign. For example, in alice@leetcode.com, alice is the local name, and leetcode.com is the domain name. Beside...

third_的博客 795

数字信号完整性分析:眼图原理与应用指南

眼图是数字信号完整性分析中的核心工具,通过将数字信号在时间域上多次叠加形成类似人眼的图形,直观反映信号质量。其原理基于时钟恢复和波形叠加,能有效展示信号的统计特性,包括上升/下降时间、过冲/下冲等关键参数。在高速数字电路设计中,眼图分析对于评估信号完整性、调试抖动问题至关重要,广泛应用于DDR接口、高速串行链路等场景。通过合理设置示波器参数和采用均衡技术,工程师可以优化眼图表现,提升系统可靠性。本文结合DDR4内存等实际案例,详解眼图的测量方法与常见问题解决方案。

weixin_35459464的博客 342

每日一道Leetcode算法——455.分发饼干——2019.11.26

题干: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj。如果 sj >= gi,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你可以假设胃口...

third_的博客 728

从零构建生产级K8s-v1.35.0集群:基于Containerd与Cilium的kubeadm实战指南

本文详细介绍了从零构建生产级K8s-v1.35.0集群的全过程,涵盖环境准备、Containerd配置、Kubernetes组件安装、集群初始化及Cilium网络部署等关键步骤。通过实战经验分享系统调优技巧和常见问题解决方案,帮助读者快速搭建稳定高效的Kubernetes集群。

weixin_28725553的博客 218

YOLO26改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 211

每日一道Leetcode算法——383.赎金信——2019.01.28

中文: 给定一个任意赎金票据字符串和另一个包含所有杂志字母的字符串, 写一个函数,如果赎金票据字符串可以从杂志上构建,它将返回true; 否则,它将返回false。 杂志字符串中的每个字母只能在赎金票据中使用一次。 注意: 您可以假设两个字符串仅包含小写字母。 canConstruct("a", "b") -> false canConstruct("aa", "ab") -> fa...

third_的博客 644

Python爬虫实战:利用Scrapy+Playwright高效爬取TED演讲数据

在当今信息爆炸的时代,TED演讲作为全球知名的思想传播平台,汇聚了各领域顶尖人才的精彩分享。对于数据分析师、研究人员或内容创作者来说,获取TED演讲的完整数据集具有重要价值。本文将详细介绍如何使用Python中最先进的爬虫技术组合——Scrapy框架配合Playwright浏览器自动化工具,高效爬取TED演讲的完整数据。传统爬虫技术在处理现代动态网页时面临诸多挑战,而本文将展示如何利用最新工具解决这些问题。

2201_76125261的博客 205

每日一道Leetcode算法——sql语句题——2019.01.01

1.leetcode-182题: 写一个可以查询重复email的sql。 Write a SQL query to find all duplicate emails in a table named Person. +----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | ...

third_的博客 507

微信小程序 - 解决报错 {“errcode“:41002,“errmsg“:“appid missing, rid: X“} 微信报错错误码errcode“:41002问题分析及解决教程(详细排查)

【微信小程序】报错{“errcode“:41002,“errmsg“:“appid missing, rid: 64e55770-67c1fb7e-027c5a70“}:【微信小程序】微信小程序登录请求出现appid missing提示,微信公众号{"errcode":41002,"errmsg":"appid missing"},微信 报错{“errcode“:41002,“errmsg“:“appid missing,微信小程序获取openid返回appid missing的问题,微信小程序提示Erro

🏆 前端领域优质创作者 5647

2026最新贝壳二手房爬虫实战:突破极验5.0滑块验证码,完整房源数据采集方案

本文详细介绍了2026年贝壳找房爬虫技术方案,重点突破其极验5.0滑块验证码等反爬机制。文章首先解析了贝壳六大核心反爬模块,包括AI驱动的验证码、设备指纹绑定和TLS指纹识别等。针对最难破解的滑块验证码,提出了基于YOLOv11深度学习模型的缺口检测方案,准确率达99.5%,并结合人类行为轨迹模拟实现98%以上的成功率。最后设计了分布式爬虫架构,包含任务调度、代理池、验证码服务和数据清洗等模块,为大规模采集贝壳真实房源数据提供了完整解决方案。该方案在复杂反爬环境下仍保持高效稳定,具有重要的商业和研究价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2054

每日一道Leetcode算法——sql题——2019.02.15

一题:Combine Two Tables     中文: Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varcha...

third_的博客 503

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

每日一道Leetcode算法—— Robot Return to Origin——2019.02.14

题干: 中文: 在2D平面上有一个从位置(0,0)开始的机器人。给定其移动序列,判断该机器人在完成移动后是否在(0,0)处结束。 移动序列由字符串表示,字符move [i]表示其第i个移动。有效移动是R(右),L(左),U(上)和D(下)。如果机器人在完成所有移动后返回原点,则返回true。否则,返回false。 注意:机器人“面对”的方式无关紧要。 “R”将始终使机器人向右移动一次,“L...

third_的博客 472

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

每日一道Leetcode算法——Path Sum——2019.01.13

中文: 给定二叉树和求和,确定树是否具有根到叶路径,使得沿路径的所有值相加等于给定的总和。 注意:叶子是没有子节点的节点。 例: 鉴于以下二叉树和sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1 返回true,因为存在根到叶路径5-&gt; 4-&gt; 11...

third_的博客 421

每日一道Leetcode算法——移动零——2019.01.27

中文: 给定一个数组nums,写一个函数将所有0移动到它的末尾,同时保持非零元素的相对顺序。 Example: Input: [0,1,0,3,12] Output: [1,3,12,0,0] 注意: 您必须就地执行此操作,而无需复制阵列。 最小化操作总数。 英文: Given an array nums, write a function to move all 0's to the end...

third_的博客 419

每日一道Leetcode算法——Fibonacci Number——2019.02.01

题干: 中文: Fibonacci数字,通常表示为F(n),形成一个称为Fibonacci序列的序列, 这样每个数字是前两个数字的总和,从0和1开始。 即, F(0)= 0,F(1)= 1 对于N&gt; 1,F(N)= F(N-1)+ F(N-2)。 给定N,计算F(N)。 Example 1: Input: 2 Output: 1 Explanation: F(2) = F(1)...

third_的博客 391

每日一道Leetcode算法——Self Dividing Numbers——2019.01.29

中文: 自分割数是一个可被其包含的每个数字整除的数字。 例如,128是自分割数,因为128%1 == 0,128%2 == 0,128%8 == 0。 此外,不允许自分割数包含数字零。 给定数字的下限和上限,输出每个可能的自划分数的列表,如果可能,包括边界。 Example 1: Input: left = 1, right = 22 Output: [1, 2, 3, 4, 5, 6, 7,...

third_的博客 379

每日一道Leetcode算法—— Maximum Width Ramp——2019.01.20

中文: 给定整数数组A,斜坡是元组(i,j),其中i &lt;j且A [i] &lt;= A [j]。这种斜坡的宽度是j-i。 在A中找到斜坡的最大宽度。如果不存在,则返回0。 Example 1: Input: [6,0,8,2,1,5] Output: 4 Explanation: 最大宽度斜坡达到 (i, j) = (1, 5): A[1] = 0 and A[5] = 5. ...

third_的博客 377

每日一道Leetcode算法——520.检测大写字母——2021.05.20

题干: 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情况时,单词的大写用法是正确的: 全部字母都是大写,比如"USA"。 单词中所有字母都不是大写,比如"leetcode"。 如果单词不只含有一个字母,只有首字母大写,比如"Google"。 否则,我们定义这个单词没有正确使用大写字母。 示例 1: 输入: "USA" 输出: True 示例 2: 输入: "FlaG" 输出: False 注意: 输入是由大写和小写拉丁字母组成的非空单词。 解题思路: 因为ASCII..

third_的博客 372

每日一道Leetcode算法——Fair Candy Swap——2019.02.03

题干: 中文: Alice和Bob有不同大小的糖果棒:A [i]是Alice拥有的第i个糖果棒的大小,B [j]是Bob拥有的第j个糖果棒的大小。 由于他们是朋友,他们想交换一个糖果,以便交换后,他们都有相同的糖果总量。 (一个人拥有的糖果总量是他们拥有的糖果大小的总和。) 返回一个整数数组ans,其中ans [0]是Alice必须交换的直板的大小,ans [1]是Bob必须交换的直板的大小。...

third_的博客 372

每日一道Leetcode算法——Fibonacci Number——2019.02.02

题干: 中文:   给定矩阵A,返回A的转置。 矩阵的转置是在其主对角线上翻转的矩阵,切换矩阵的行和列索引。 Example 1: Input: [[1,2,3],[4,5,6],[7,8,9]] Output: [[1,4,7],[2,5,8],[3,6,9]] Example 2: Input: [[1,2,3],[4,5,6]] Output: [[1,4],[2,5],...

third_的博客 350
上一篇: 每日一道Leetcode算法—— Best Time to Buy and Sell Stock——2019.01.23
下一篇: 每日一道Leetcode算法—— Single Number——2019.01.25
田小江爱分享
博客等级 码龄10年 34粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值