刷力扣的第一天脑子要长出来的感觉(怎么有人大四才开始啊啊啊啊啊啊啊啊啊啊啊啊,又是等成绩的一天,)
刷力扣的第一天脑子要长出来的感觉(为什么大四才开始啊啊啊啊啊啊啊啊啊啊啊啊)
emmm,自己还是想不太出来(只是一点想法),可能还是会参考评论区,求各位轻喷
- 分析:带符号一定不是回文,要像个好办法将121,第n-1位和第2位联系起来
- 取余得出后一位。
- %去第n位
- if(n/10==n%10){ true}
- 外面再嵌套一层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,*/}
判断到一半就退出
-
罗马数字转整数
- 分析题目,找规律
- 小值在大值左边,减小值
- 小值在大值右边,加小值
/*没想到用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;} }
- 提交的版本
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;}} }
-
最长前缀(王道数据结构中有类似题目)
- c++将字符串分解成一个一个字符,使用两个指针,同时从第一个空间开始便利,对比两个空间里的字符是不是一样的。
- 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;//输出字符}}
-
有效括号(王道)
/*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;} } /*用栈,进出栈来比较左右括号*/
-
合并链表(王道)
/*链表的比较,以及语法还是要再加强一下,好不容易会一个,因为链表.的使用方法纠结好久,给了结构体,所以用.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;}}
}
- 删除重复项(王道有)我是菜菜,没做出来
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;}
}
-
/*呦吼,完全自己写的没有参考哦,脑子开始长了*/ 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;} }
相关文章:
刷力扣的第一天脑子要长出来的感觉(怎么有人大四才开始啊啊啊啊啊啊啊啊啊啊啊啊,又是等成绩的一天,)
刷力扣的第一天脑子要长出来的感觉(为什么大四才开始啊啊啊啊啊啊啊啊啊啊啊啊) emmm,自己还是想不太出来(只是一点想法),可能还是会参考评论区,求各位轻喷 分析:带符号一定不是回…...
Nuclei文*件上*传FUZZ POC
目录 1.前言 2. Nuclei文件上传FUZZ POC 3. 实战中的应用 1.前言 该文件上传FUZZ POC主要来源于一个靶*场,该POC 主要用来FUZZ目标js页面中的upload ajax请求,以此来进一步尝试文件上传漏*洞利*用。 这里也要感谢下“打工仔1号”提供的开*发人员常见的文*件上*传javaScr…...
完美解决方案-雪花算法ID到前端之后精度丢失问题
最近公司的一个项目组要把以前的单体应用进行为服务拆分,表的ID主键使用Mybatis plus默认 的雪花算法来生成。 快下班的时候,小伙伴跑过来找我,:“快给我看看这问题,卡这卡了小半天了!”。连拉带拽&#x…...
工程管理系统源码之高效的工程项目管理软件
高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…...
390. 消除游戏
列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是…...
springBoot JPA代码生成器
介绍通过IDEA配置文件,根据数据库表结构快速生产Service、ServiceImpl、repository、repositoryImpl、自动生成常用的jpa增删改查等方法。使用的版本Spring Boot2.1.6.RELEASE spring-boot-starter-data-jpa使用idea 生成代码步骤打开idea(https://images.gitee.co…...
相同月利率条件下不同还款方式贷款的APR与IRR研究
文章目录前提假设一次性还本付息先息后本等额本息等额本金简单二分法求解IRR的程序汇总实验对比前提假设 因为常见的信贷产品还款期数定义都是按照月,假设只借一期的利率(月利率)为r,在此条件下,研究不同还款方式下的…...
【论文】智能隧道检测车的现状及改进策略
本文转载自《智慧城轨》2022年第11期 作者:黄丹樱1,韦强1,朱椰毅2,范骁1,林浩立1 单位:1 浙江师范大学工学院;2 浙江金温铁道开发有限公司 声明:本文仅用于学术分享,不做商业用途,如有侵权,联…...
【代码随想录二刷】Day16-二叉树-C++
代码随想录二刷Day16 每日任务 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数 语言:C 104. 二叉树的最大深度 链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 递归法(前序…...
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)都是用来对矩阵进行奇异值分解(SVD)的函数,但它们在默认参数和返回结果方面有一些差异。 在Matlab中,SVD函数的默认行为是计算矩阵的完整SVD,即对于一…...
2023年光模块行业发展趋势及未来前景
随着数字化时代的到来,互联网行业的快速发展,网络通信设备行业的发展也在逐渐加速。光模块作为网络设备的重要组成部分,也在不断创新和发展。那么,光模块行业的未来发展趋势又是怎样的呢?接下来就跟着易天光通信&#…...
Sysmac Studio使用Tortoise和Git实现版本控制
Sysmac Studio使用Tortoise和Git实现版本控制实验时间:2022/11/16 实验软件:Sysmac Studio(1.52,需要软件授权支持版本控制)、Git(2.38.1)、Tortoise(2.13.0)、gitee(代码仓库) 实验目的:Sysmac Studio实现版本控制、多人同时开…...
Intent 和 Bundle 传值的区别
文章目录1、使用上1.1 Intent 方式1.2 Bundle 方式2、为什么 Bundle 使用 ArrayMap 而不是 Hashmap 实现呢?1、使用上 1.1 Intent 方式 举例:将数据从页面 A 传递到 B,然后再传递到 CA 页面: Intent intentnew Intent(MainActi…...
TypeScript 初步
一、TypeScript是什么? Typed JavaScript at Any Scale: 添加了类型系统的JavaScript,使用于任何规模的项目。 两个重要特点: 类型系统 任何规模 中文官网:文档简介 TypeScript中文网 TypeScript——JavaScript的超集 TypeS…...
leaflet 添加zoomslider,控制zoom放大缩小(074)
第074个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用zoomslider,相比于普通的zoom控件,这个更加形象,更加具体些。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共65行)相关API参考:专栏目…...
10分钟学会python对接【OpenAI API篇】
今天学习 OpenAI API,你将能够访问 OpenAI 的强大模型,例如用于自然语言的 GPT-3、用于将自然语言翻译为代码的 Codex 以及用于创建和编辑原始图像的 DALL-E。 首先获取生成 API 密钥 在我们开始使用 OpenAI API 之前,我们需要登录我们的 Op…...
2023美赛必须注意事项
文章目录首页部分要求竞赛期间题目查看题目下载论文要求比赛提示控制号提交解决方案更多注意事项首页部分要求 具体如下: 我提取一些关键词如下: 第一页:摘要页字体要求:12点的 Times New Roman 字体请勿在此页面或任何页面上…...
基于微信小程序的智能招聘小程序
文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…...
Java文件操作和I/O
Java 流(Stream)、文件(File)和IOJava.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。Java.io 包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。一个流可以理解为一个数据的序列。输入流表示从一个源…...
QT项目_RPC(进程间通讯)
QT项目_RPC(进程间通讯) 前言: 两个进程间通信、或是说两个应用程序之间通讯。实际情况是在QT开发的一个项目中,里面包含两个子程序,子程序有单独的界面和应用逻辑,这两个子程序跑起来之后需要一些数据的交互,例如&…...
移动硬盘文件丢失怎么恢复?
在我们的日常工作、学习和生活都离不开各种数据。每天都会接收或处理各种数据,尤其是做设计、自媒体、多媒体设计的人。移动硬盘成为我们常备的存储工具,但有使用就会伴随着意外情况的发生,这将导致移动硬盘上数据的丢失,比如误删…...
什么是同步整流和异步整流
在设计降压型DCDC电路的时候,经常会听到同步整流(synchronous)和异步整流(asynchronous)。那么什么是同步整流,什么是异步整流呢从这两种电路的拓扑来看,异步整流型外围有一个续流二极管&#x…...
关于PYTHON Enclosing 的一个小问题
问题分析 以下是一段每隔半小时重复执行测试用例的脚本,func是传入的测试函数,在执行func前后,会打印操作次数 def repeat(func, action):try:log.info(u******开始并发%s****** % action)thread_list []for i in range(repeat_count):def…...
LabVIEW错误-2147220623:最大内存块属性不存在
LabVIEW错误-2147220623:最大内存块属性不存在在使用NI Linux实时操作系统目标中,使用系统属性节点和分布式系统管理器(DSM),但遇到一些问题:它未正确报告系统上的可用物理内存量。在NI Linux实时系统上出现…...
图的总复习
一、图的定义Graph 图是由顶点vertex集合及顶点间关系集合组成的一种数据结构: 顶点的集合 和 边的集合 二、无向图 用(x,y)表示两个顶点x和y之间的一条边(edge) 边是无方向的 N{V,E},V{0…...
测试流程记录
1,需求评审 2,技术方案评审 3,编写测试用例 编写需求分析 编写测试用例 编写冒烟case 4,用例评审 5,提测 提测前给开发执行冒烟case 6,测试 测试完成前约产品验收时间 7,验收 跟进验收问题…...
Mysql主从架构与实例
mysql的主从架构 MySQL主从架构是一种常见的数据库高可用性解决方案,它通常由一个主数据库和多个从数据库组成。主数据库用于处理写入请求和读取请求,从数据库则用于处理只读请求。 在主从架构中,主数据库记录所有数据更改并将这些更改同步…...
webpack(高级)--Tapable
webpack 我们直到webpack中有两个非常重要的类Compiler和Compilation 他们通过注入插件的方式 来监听webpack的所有声明周期 插件的注入是通过创建Tapable库中的各种Hook的实例来得到 Tapable Tapable中的Hook分为同步与异步 同步 SyncHook SyncBailHook SyncWaterfallHook…...
Python常见类型转换合集
近期在工作中常常接触到各种转换,如字符串转byte,byte转字符串,还有byte数组转成报文能接纳的格式(bin格式的十六进制)。故有必要系统的总结一下Python中常见的类型转换。 一:常见类型的概念 类型举例说明…...
机关单位特色的网站建设/月嫂免费政府培训中心
Visual Studio 2010其他版本此主题尚未评级 评价此主题静态构造函数用于初始化任何 静态 数据,或用于执行仅需执行一次的特定操作。 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。 C#class SimpleClass {// Static variable that mu…...
云栖建站/seo排名关键词搜索结果
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR开发板】。 技术交流QQ群号:743434463 开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程&#x…...
中医医院网站建设需求/网络推广网站有哪些
prefab可无限apply: 如果把一个模块做成了prefab,这个prefab可能在同一个scene中添加多个,甚至添加到了多个scene中。设所有这些实例为instance(1),instance(2),...,instance(n),那么我们应该保证对于任何一个instance(i)来说&…...
网上做调查赚钱的网站/营销型网站建设套餐
Android开发之调用外部应用打开指定文件 Android应用打开另一个应用程序 Android app中调用启动其他应用(系统应用和第三方应用)2016.10.25新增android 6.0打电话api Android调用另一个App界面 Android中通过外部程序启动App的三种方法...
微信小程序广告收益/系统优化的方法
MAN命令简介 本地系统上通常可用的一个文档源是系统手册页,或称为man page。这些手册页是作为文档所涉及的相应软件包的一部分而提供的,可以使用man命令进行访问。 MAN PAGE导航 命令结果空格向前(向下)滚动一个屏幕PageDown向…...
不用开源做网站/抖音代运营大概多少钱一个月
修改当前路径,但是一重启就恢复原样export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/games 例如:该路径忘记加&path了 ubuntu命令行界面/bin/echo $PATH (查看当前启动路径) cat /etc/profile (查…...