当前位置: 首页 > news >正文

刷力扣的第一天脑子要长出来的感觉(怎么有人大四才开始啊啊啊啊啊啊啊啊啊啊啊啊,又是等成绩的一天,)

刷力扣的第一天脑子要长出来的感觉(为什么大四才开始啊啊啊啊啊啊啊啊啊啊啊啊)

emmm,自己还是想不太出来(只是一点想法),可能还是会参考评论区,求各位轻喷

  1. 分析:带符号一定不是回文,要像个好办法将121,第n-1位和第2位联系起来
    1. 取余得出后一位。
    2. %去第n位
    3. if(n/10==n%10){ true}
    4. 外面再嵌套一层do while
 public boolean isPalindrome(int x) {if(x<0){return false;}int cur = 0;int num = x;while(num != 0) {/*例如:121  第一次 cur=1   num=12121  第二次 cur=1*10+12%10=12num=1第三次 cur=12*10+1num=0退出循环*/cur = cur * 10 + num % 10;//将原来的数倒置,num /= 10;}return true;//我的想法,不能通过全部案例,可以改成/* return  cur==x; //倒置结果相等位true,*/}

判断到一半就退出

  1. 罗马数字转整数

    1. 分析题目,找规律
    2. 小值在大值左边,减小值
    3. 小值在大值右边,加小值
    /*没想到用switch  case来转换字符与数值的关系*/
    class Solution {private int getValue(char ch) {//从字符转化成数字switch(ch) {case 'I': return 1;case 'V': return 5;case 'X': return 10;case 'L': return 50;case 'C': return 100;case 'D': return 500;case 'M': return 1000;default: return 0;}}public int romanToInt(String s) {int sum = 0;int preNum = getValue(s.charAt(0));//获取第一个字符,更具数值的大小判断用-/+法for(int i = 1;i < s.length(); i ++) {int num = getValue(s.charAt(i));if(preNum < num) {sum -= preNum;} else {sum += preNum;}preNum = num;}sum += preNum;return sum;}
    }
    1. 提交的版本
    class Solution {public int romanToInt(String s) {int sum=0;//用于记录得出的值int first=getValue(s.charAt(0));//s.char()获取字符,调用方法或得数值 /*for来读取有几个数值,并比较左值和右值的大小来判断用-/+ */for(int i = 1;i < s.length(); i ++) {int num = getValue(s.charAt(i));//获取后面的数值if(first < num) {//first不一定就是第一个值啦sum -= first;} else {sum += first;}first = num;}sum += first;return sum;}private int getValue(char ch) {switch(ch) {case 'I': return 1;case 'V': return 5;case 'X': return 10;case 'L': return 50;case 'C': return 100;case 'D': return 500;case 'M': return 1000;default: return 0;}}
    }
    
  2. 最长前缀(王道数据结构中有类似题目)

    1. c++将字符串分解成一个一个字符,使用两个指针,同时从第一个空间开始便利,对比两个空间里的字符是不是一样的。
    2. java:找个最短的字符,读取长度,在长度内和另一个字符一一比较,不同就跳出,并记录个数,好输出
/*我的,不能通过所以的案例*/
class Solution {public String longestCommonPrefix(String[] strs) {/*如果有空字符,就没有共同前缀 */if(strs.length == 0) return " ";/*用一个字符串来比较 */String a = strs[0];/**for循环来一次比较,并在跳出前记录以及比较过的字符串 */for(int i =1;i<strs.length;i++) {int j=0;for(;j<a.length() && j < strs[i].length();j++) {if(a.charAt(j) != strs[i].charAt(j)){break;}}a = a.substring(0, j);//j用来记录相同的字符个数,if(a.equals("")){return " ";//删除空格就可以通过所有的了}}return a;//输出字符}}
  1. 有效括号(王道)

    /*switch  case  case里面用ifelse,但是代码量比较大,要长脑子 了么*/
    class Solution {public boolean isValid(String s) {int n=s.length();if(n%2!=0) return false;//入一半的栈int[] stack;stack=new int[n];int top=-1;for(int i=0;i<n;i++){int c = s.charAt(i);if(c=='('||c=='{'||c=='['){stack[++top]=c;}//只有左边可以入栈else{if(top!=-1){switch(c){case ')':if (stack[top]!='(') return false;break;case '}':if (stack[top]!='{') return false;break;case ']':if (stack[top]!='[') return false;break;}top--;}else return false;//右半边不能入栈}} if(top!=-1) return false;return true;}
    }
    /*用栈,进出栈来比较左右括号*/
    
  2. 合并链表(王道)

/*链表的比较,以及语法还是要再加强一下,好不容易会一个,因为链表.的使用方法纠结好久,给了结构体,所以用.val和.next来移动指针和取值
public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {if(list1 == null) {return list2;}if(list2 == null) {return list1;}if(list1.val < list2.val) {list1.next = mergeTwoLists(list1.next, list2);return list1;} else {list2.next = mergeTwoLists(list1, list2.next);return list2;}}
}
  1. 删除重复项(王道有)我是菜菜,没做出来
int length = nums.length;if (length <= 1) {return length;}int j = 0;
/*j作为一个哨兵,用于记录删除后后续应填入数的位置*/for (int i = 0; i < length; i++) {if (nums[i] != nums[j]) {nums[++j] = nums[i];//重点,相等时j不变,不移动,等不等时,移动指针,放入nums[i]的值}}return j+1;
/*在26的基础上改编*/
class Solution {public int removeElement(int[] nums, int val) {
int length = nums.length;if (length < 1) {return length;}/*不加的话,会有一个例子不过*/if(length==1){if(nums[0]==val){return 0;}}int j = 0;
/*j作为一个哨兵,用于记录删除后后续应填入数的位置*/for (int i = 0; i < length; i++) {if (nums[i]!=val) {nums[j++] = nums[i];//重点,相等时j不变,不移动,等不等时,移动指针,放入nums[i]的值}}return j;}
}
  1. /*呦吼,完全自己写的没有参考哦,脑子开始长了*/
    class Solution {public int searchInsert(int[] nums, int target) {int j=0;for(int i=0;i<nums.length;i++){if(nums[i]<=target){if(nums[i]<target){j++;}else{break;}}else{break;}}return j;}
    }
    

相关文章:

刷力扣的第一天脑子要长出来的感觉(怎么有人大四才开始啊啊啊啊啊啊啊啊啊啊啊啊,又是等成绩的一天,)

刷力扣的第一天脑子要长出来的感觉&#xff08;为什么大四才开始啊啊啊啊啊啊啊啊啊啊啊啊&#xff09; emmm&#xff0c;自己还是想不太出来&#xff08;只是一点想法&#xff09;&#xff0c;可能还是会参考评论区&#xff0c;求各位轻喷 分析&#xff1a;带符号一定不是回…...

Nuclei文*件上*传FUZZ POC

目录 1.前言 2. Nuclei文件上传FUZZ POC 3. 实战中的应用 1.前言 该文件上传FUZZ POC主要来源于一个靶*场,该POC 主要用来FUZZ目标js页面中的upload ajax请求,以此来进一步尝试文件上传漏*洞利*用。 这里也要感谢下“打工仔1号”提供的开*发人员常见的文*件上*传javaScr…...

完美解决方案-雪花算法ID到前端之后精度丢失问题

最近公司的一个项目组要把以前的单体应用进行为服务拆分&#xff0c;表的ID主键使用Mybatis plus默认 的雪花算法来生成。 快下班的时候&#xff0c;小伙伴跑过来找我&#xff0c;&#xff1a;“快给我看看这问题&#xff0c;卡这卡了小半天了&#xff01;”。连拉带拽&#x…...

工程管理系统源码之高效的工程项目管理软件

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中&#xff0c;管理不畅以及不良的项目执行&#xff0c;往往会导致项目延期、成本上升、回款拖后&#xff0c;最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统&#xff0c;确保…...

390. 消除游戏

列表 arr 由在范围 [1, n] 中的所有整数组成&#xff0c;并按严格递增排序。请你对 arr 应用下述算法&#xff1a;从左到右&#xff0c;删除第一个数字&#xff0c;然后每隔一个数字删除一个&#xff0c;直到到达列表末尾。重复上面的步骤&#xff0c;但这次是从右到左。也就是…...

springBoot JPA代码生成器

介绍通过IDEA配置文件&#xff0c;根据数据库表结构快速生产Service、ServiceImpl、repository、repositoryImpl、自动生成常用的jpa增删改查等方法。使用的版本Spring Boot2.1.6.RELEASE spring-boot-starter-data-jpa使用idea 生成代码步骤打开idea(https://images.gitee.co…...

相同月利率条件下不同还款方式贷款的APR与IRR研究

文章目录前提假设一次性还本付息先息后本等额本息等额本金简单二分法求解IRR的程序汇总实验对比前提假设 因为常见的信贷产品还款期数定义都是按照月&#xff0c;假设只借一期的利率&#xff08;月利率&#xff09;为r&#xff0c;在此条件下&#xff0c;研究不同还款方式下的…...

【论文】智能隧道检测车的现状及改进策略

本文转载自《智慧城轨》2022年第11期 作者&#xff1a;黄丹樱1,韦强1,朱椰毅2,范骁1,林浩立1 单位&#xff1a;1 浙江师范大学工学院&#xff1b;2 浙江金温铁道开发有限公司 声明&#xff1a;本文仅用于学术分享&#xff0c;不做商业用途&#xff0c;如有侵权&#xff0c;联…...

【代码随想录二刷】Day16-二叉树-C++

代码随想录二刷Day16 每日任务 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数 语言&#xff1a;C 104. 二叉树的最大深度 链接&#xff1a;https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 递归法&#xff08;前序…...

Lecture5 实现线性回归(Linear Regression with PyTorch)

目录 1 Pytorch实现线性回归 1.1 实现思路 1.2 完整代码 2 各部分代码逐行详解 2.1 准备数据集 2.2 设计模型 2.2.1 代码 2.2.2 代码逐行详解 2.2.3 疑难点解答 2.3 构建损失函数和优化器 2.4 训练周期 2.5 测试结果 3 线性回归中常用优化器 1 Pytorch实现线性回归…...

Python与Matlab svd分解的差异

1.差异说明 Matlab和Python的NumPy库中的SVD函数(np.linalg.svd)都是用来对矩阵进行奇异值分解&#xff08;SVD&#xff09;的函数&#xff0c;但它们在默认参数和返回结果方面有一些差异。 在Matlab中&#xff0c;SVD函数的默认行为是计算矩阵的完整SVD&#xff0c;即对于一…...

2023年光模块行业发展趋势及未来前景

随着数字化时代的到来&#xff0c;互联网行业的快速发展&#xff0c;网络通信设备行业的发展也在逐渐加速。光模块作为网络设备的重要组成部分&#xff0c;也在不断创新和发展。那么&#xff0c;光模块行业的未来发展趋势又是怎样的呢&#xff1f;接下来就跟着易天光通信&#…...

Sysmac Studio使用Tortoise和Git实现版本控制

Sysmac Studio使用Tortoise和Git实现版本控制实验时间&#xff1a;2022/11/16 实验软件&#xff1a;Sysmac Studio(1.52&#xff0c;需要软件授权支持版本控制)、Git(2.38.1)、Tortoise(2.13.0)、gitee(代码仓库) 实验目的&#xff1a;Sysmac Studio实现版本控制、多人同时开…...

Intent 和 Bundle 传值的区别

文章目录1、使用上1.1 Intent 方式1.2 Bundle 方式2、为什么 Bundle 使用 ArrayMap 而不是 Hashmap 实现呢&#xff1f;1、使用上 1.1 Intent 方式 举例&#xff1a;将数据从页面 A 传递到 B&#xff0c;然后再传递到 CA 页面&#xff1a; Intent intentnew Intent(MainActi…...

TypeScript 初步

一、TypeScript是什么&#xff1f; Typed JavaScript at Any Scale: 添加了类型系统的JavaScript&#xff0c;使用于任何规模的项目。 两个重要特点&#xff1a; 类型系统 任何规模 中文官网&#xff1a;文档简介 TypeScript中文网 TypeScript——JavaScript的超集 TypeS…...

leaflet 添加zoomslider,控制zoom放大缩小(074)

第074个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用zoomslider,相比于普通的zoom控件,这个更加形象,更加具体些。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共65行)相关API参考:专栏目…...

10分钟学会python对接【OpenAI API篇】

今天学习 OpenAI API&#xff0c;你将能够访问 OpenAI 的强大模型&#xff0c;例如用于自然语言的 GPT-3、用于将自然语言翻译为代码的 Codex 以及用于创建和编辑原始图像的 DALL-E。 首先获取生成 API 密钥 在我们开始使用 OpenAI API 之前&#xff0c;我们需要登录我们的 Op…...

2023美赛必须注意事项

文章目录首页部分要求竞赛期间题目查看题目下载论文要求比赛提示控制号提交解决方案更多注意事项首页部分要求 具体如下&#xff1a; 我提取一些关键词如下&#xff1a; 第一页&#xff1a;摘要页字体要求&#xff1a;12点的 Times New Roman 字体请勿在此页面或任何页面上…...

基于微信小程序的智能招聘小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…...

Java文件操作和I/O

Java 流(Stream)、文件(File)和IOJava.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式&#xff0c;比如&#xff1a;基本类型、对象、本地化字符集等等。一个流可以理解为一个数据的序列。输入流表示从一个源…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...