javaScript数组-(进阶算法)-计算滑动窗口最大值
滑动窗口 给定数组中的连续子数组,使其和达到最大值,并记录该子数组的起始和结束索引。最后,将最大和及其起始和结束索引存储在数组当中。 const arr = [-1,-2,3,9,-4,8]; let max = null;let sum = null; let i=0,j=0; let length = arr.length; if(max === null || sum === null){ ma...
03-JAVA设计模式-策略模式
体实现算法的创建提供统一的接口类创建具体的策略类,实现加减乘除不同的算法创建上限文对象,对象中持有策略算法的引用,提供调用方法,通过持有的策略算法的引用实现不同算法的调用 实现代码 Strategy.java // 策略接口public interface Strategy { // 定义操作接口 int dealOperation(int num1,int num2);} OperationAdd....
03-JAVA设计模式-命令模式
执行者Light,定义电灯的具体执行开关的方法创建命令接口,定义执行的抽象方法创建具体命令接口的实现,通过持有具体执行的引用,执行指定命令创建请求者,用于发出指令,处理请求指令 实现代码 Light.java // 命令的接收者public class Light { public void on() { System.out.println("Light is on"); } public void ...
Java中使用Graphics2D绘制字符串文本自动换行 算法
效果: 代码: /** * @return void * @Author xia * @Description //TODO 写字换行算法 * @Date 18:08 2021/4/1 * @Param [] **/ private static void drawWordAndLineFeed(Graphics2D g2d, Font font, String words, int wordsX, in...
android和java 线程Tread
1.1 创建 new :当程序new了一个线程后,线程就处于新建状态,这时候他和其他 java对象一样,被java虚拟机分配了内存,但没有线程的特性。 1.2 就绪 Runnable 当线程对象调用了Thread.start(方法之后,该线程处于就绪状态,Java虚拟机会为其创建方法调用栈和程...
java学习笔记3
5. 多重循环和程序调试 5.1 多重循环 多重循环是指循环中嵌套循环结构 多重循环注意事项 各种循环可以互相嵌套 一般不要超过三层嵌套 外层循环变化一次,内层循环要全部执行完 代码 **需求1:**使用循环嵌套输出10*10的矩形 public static void demo() { for (int i = 0; i < 10; i++) { System.out.print("第" + (i +...
Js-JavaScript-三种弹出提示框-alert-confirm-prompt-ai插件
文章目录 1.alert-提示框2.confirm-确认框3.prompt-输入框4.总结 1.alert-提示框 弹出一个提示框,只有一个确定按钮。 alert("知了插件"); 如下图所示: 2.confirm-确认框 弹出一个确认框,选择Yes返回true,选择No放回false。 function test(){ var rlt=confirm ("是否继续?", true, "提示"); $....
JAVA学习-并发.线程安全的集合
线程安全的集合是指在多线程环境下能够保证数据一致性和线程安全的集合类。在并发编程中,使用线程安全的集合可以避免多线程访问共享数据时出现的并发问题,如死锁、数据不一致等。 一、Java并发包中提供了多种线程安全的集合类,包括: 1. ConcurrentHashMap: 它是线程安全的哈希表,使用分段锁的机制来提高并发性能,适合多线程同时读写的场景。 2. CopyOnWriteArrayLi...
javaScript数组-(进阶算法)-计算正整数各个位数上的数字之和
基础 javaScript数组-(进阶算法)-计算正整数各个位数上的数字之和 function sumDigits(num) { // 检查输入是否为数字,增强代码健壮性 if (typeof num !== 'number' || isNaN(num) || !isFinite(num)) { throw new Error('Input must be a finite number'); } le...