随笔分类 -  算法

摘要:/** * 1.给定数组int[] a,int[] b * (1)请找出数组a所有重复元素,例:int[] a = {1,2,3,4,8,9,3,5,1,3},结果int[] a1 = {1,1,3,3,3} * (2)比较数组a和数组b得到不重复的新数组,例:int[] a = {1,2,3,4, 阅读全文
posted @ 2024-07-30 18:00 骚哥 阅读(19) 评论(0) 推荐(0) 编辑
摘要:解决问题的步骤就叫算法 有五个特征 可执行性 确定性 有穷性 有输入信息的说明 有输出信息的步骤 算法的描述方式 1.自然语言 2.选择结构 二分支选择 传承流程图 if(){}else{} N-S图 if(){}else{} P是判断的位置 多分支选择 if(){}else if(){}else 阅读全文
posted @ 2021-05-13 20:08 骚哥 阅读(212) 评论(0) 推荐(0) 编辑
摘要:一.我的解法,思路在代码注释中 需求: 罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 阅读全文
posted @ 2021-02-08 18:48 骚哥 阅读(397) 评论(0) 推荐(0) 编辑
摘要:一.鄙人的解法 需求:回文数 这里写了三种解法 比较一半的方式来实现 回文数 要StringBuilder实现 回文数 转字符串方法实现 回文数 代码 思路 方法一:反转一半数字思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允 阅读全文
posted @ 2021-02-07 16:32 骚哥 阅读(560) 评论(0) 推荐(0) 编辑
摘要:一. 需求:整数反转 给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 图解: [方法二的图解] 示例 : 输入:x = 阅读全文
posted @ 2021-02-05 14:15 骚哥 阅读(334) 评论(0) 推荐(0) 编辑
摘要:求子数组最大平均数[我的解法,思路在代码注释中] 官方的解法[下面有图解] 第二组和第一组之和比较最大值,结果是第二组51大 第3组和上组比较最大值51比较,明显结果还是51大 第4组和上组比较最大值51比较,明显结果还是51大 第5组和上组比较最大值51比较,明显结果还是51大 最后求子数组最大平 阅读全文
posted @ 2021-02-04 14:06 骚哥 阅读(189) 评论(0) 推荐(0) 编辑
摘要:鄙人的解法 思路写在注释中 1 import java.util.HashMap; 2 import java.util.Map; 3 4 /** 5 * 算法:两数之和 6 * 7 * @author 王子威 8 * @date 2021/2/3 9 */ 10 public class Wzws 阅读全文
posted @ 2021-02-03 16:04 骚哥 阅读(283) 评论(0) 推荐(0) 编辑
摘要:public boolean isValid(String userStr) { if(userStr.length() % 2 != 0){ return false; } //创建hashMap对象 HashMap<Character, Character> map = new HashMap< 阅读全文
posted @ 2020-09-17 21:53 骚哥 阅读(280) 评论(0) 推荐(0) 编辑
摘要:二分查找【重点】 前提 数组必须有序 思路 1.只要开始索引大于结束索引,就代表数组中没有该值 2.中间索引位置元素大于目标值 修改结束索引等于中间索引减1 3.中间索引位置元素小于目标值 修改索引等于中间索引加1 4.中间索引位置元素等于目标值 返回索引 5.不确定循环次数 while 条件:开始 阅读全文
posted @ 2020-09-01 14:39 骚哥 阅读(177) 评论(0) 推荐(0) 编辑
摘要:选择排序【重点】 思路: 1.将一个和所有元素进行比较,大的放后面,小的放前面 2.数组的长度为N,比较N-1轮 3.每一轮比较完成后,都可以得到了最小值,下一轮就不需要比较最小值 例图: 源码: 代码 public static void main(String[] args) { int[] a 阅读全文
posted @ 2020-09-01 13:19 骚哥 阅读(144) 评论(0) 推荐(0) 编辑
摘要:冒泡排序【重点】 思路: 1.将相邻的两个元素进行比较,大的放后面,小的放前面 2.数组的长度为N,比较N-1轮 3.每一轮比较完成后,都可以得到了最大值,下一轮就不需要比较最大值 例图: 源码: 代码 public static void main(String[] args) { int[] a 阅读全文
posted @ 2020-09-01 13:17 骚哥 阅读(138) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示