最后一个单词的长度
58.最后一个单词的长度给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
思路如何定位到最后一个单词
从字符串最后一个元素开始遍历,等于空格则,指针减减,定位到最后一个单词的最有一个字母
改变判断条件,如果指针所指不等于空格,则指针减减。
1234567891011121314151617181920212223package com.wereash.scut_hot100;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-14 22:03 **/public class Solution058 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String str=scanner.nextLine(); Strin ...
轮转数组
189.轮转数组给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
思路1
利用辅助数组
12345678910111213141516171819202122232425262728package com.wereash.scut_hot100;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-13 19:58 **/public class Solution189 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); String[] str=scanner.nextLine().split(","); int len=str.length; int[] nums=new int[len]; for(int i=0;i<len;i++)& ...
机器学习
机器学习基本术语 在生活中,我们可以根据西瓜的色泽、根蒂、敲声这几个特征来判断一个西瓜的好坏
假如我们要使用机器学期的方法判断西瓜的好坏,并收集到了如表中所示的数据
编号
色泽
根蒂
敲声
1
青绿
蜷缩
混响
2
3
…
…
…
…
我们把所有数据的集合成为一个数据集
把其中每条记录是对于某个对象的描述,成为一个样本
反映对象某方面的性质的事项,如表中的色泽、根蒂等称为属性或特征
从数据中学习模型的过程称为学习或训练,训练过程中使用的样本称为训练样本
有时候,我们为了训练模型还需要样本的结果信息,例如1号西瓜的结果是”好瓜“,我们称这种结果信息为标签。而将一条拥有标签的样本成为一个样例
分类:就是把主句划分为不同的类
回归:就是一些数据,要对这些数据进行线性拟合和非线性拟合
聚类:有一批数据,要把数据聚为几类
工作流程
选择数据:将数据分割为三组,即训练集和测试集
构建模型:利用从训练数据中所获得特征构建模型
验证模型:利用验证集对模型进行验证
测试模型:利用测试集对模型性能进行测试
用户使用:对所训练的模型对新的数据进行处理
调整 ...
多数元素
169.多数元素给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
思路1:
通解:遍历数组,统计不同元素个数
12345678910111213141516171819202122232425262728293031323334353637383940414243package com.wereash.scut_hot100;import java.util.HashMap;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-12 18:32 **/public class Solution169 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String[] str=scanner.nextLine().spli ...
移除元素
27.移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。
假设 nums 中不等于 val 的元素数量为 k,要通过此题,您需要执行以下操作:
更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。
返回 k。
思路:
快慢指针,快指针遍历元素,慢指针依次指向和val值相等的元素;
1234567891011121314151617181920212223242526272829303132package com.wereash.scut_hot100;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-11 20:07 **/public class Solution027 { public static void main(String[] args){ Scanne ...
合并两个有序数组
88.合并两个有序数组给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。
注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。
思路
合并到第一个数组中且第一个数组大小是两个数组有效元素之和
那么可以从后往前遍历,先确定最后一个元素,以此类推
12345678910111213141516171819202122232425262728293031323334353637383940414243package com.wereash.scut_hot100;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-10 20:21 **/public class S ...
回文数
9.回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
思路:
利用十进制的运算
代码
1234567891011121314151617181920212223242526272829package com.wereash.scut_hot100;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-09 21:02 **/public class Solution009 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int num=scanner.nextInt(); if(num<0) { System.out.println(&qu ...
软件工程导论
软件工程软件危机软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题
即:效率下降和质量下降的问题
软件危机的具体表现:
软件成本高,开发进度估计不准
用户对“已完成的”软件系统不满意的现象常常发生
软件质量差,可靠性不能保证
软件产品可维护性差
软件没有合适的文档资料
软件成本逐年上升
软件开发生产率滞后于硬件和计算机应用普及
产生软件危机的原因
软件本身的特性:
缺乏可见性、无制造过程、规模庞大
对软件开发的错误认识和做法:
软件就是程序,开发软件就是编程序;轻视文档、不懂测试、不想维护、开发与维护的方法不正确。
消除软件危机的途径:
使用好的软件开发技术和方法
使用好的软件开发工具
良好的组织、严密的管理、各类人员相互配合
软件工程软件工程就是用科学的知识和技术原理来定义、开发、维护软件的一门学科
软件工程内容包括了:开发技术和开发管理两个方面
目标付出较低开发成本、达到要求的功能、取得较好的性能、开发的软件易于移植、只需较低的维护费用、按时完成开发任务、及时交付使用、开发的软件可靠性高
软件生命周期软件生命周期由软件定义、软件开发和运行维护三个时期组 ...
两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
思想:map
12345678910111213141516171819202122232425262728293031package com.wereash.scut_hot100;import java.util.HashMap;import java.util.Scanner;/** * @Author: WereAsh * @Date:2026-01-08 20:58 **/public class Solution001 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String s=scanner.nextLine(); int target=scanner.nextInt(); String str=s.substring ...
无题
大模型大模型的发展










