无须数据线,实现电脑手机快速互传

推荐一款跨平台开源免费文件传输神器 LANDrop,实现电脑手机互传,不限速!支持 Windows、Android、iOS、macOS、ipad 等全平台

地址如下:LANDrop - Drop any files to any devices on your LAN

如果是在安卓手机和 window 电脑互传,则下载 安装安卓和windows版本

在这里插入图片描述
打开可执行程序,在弹出的窗口直接把文件拖进去传送就可以了,电脑端会自动识别手机端的Ip和端口,注意,电脑要和手机在同一个wifi或者局域网内

public class SlideWindow {
    public static void main(String[] args) {
        SlideWindow a = new SlideWindow();
        System.out.println(a.minWindow("ADOBECODEBANC", "ABC"));
    }

    public String minWindow(String s, String t) {
        String res = "";
        if (t.length() > s.length()) {
            return res;
        }
        HashMap<Character, Integer> need = new HashMap<>();
        HashMap<Character, Integer> window = new HashMap<>();
        for (int i = 0; i < t.length(); i++) {
            char ch = t.charAt(i);
            need.put(ch, need.getOrDefault(ch, 0) + 1);
        }
        // 定义字符串左右指针
        int left = 0;
        int right = 0;
        // valid 变量表示窗口中满足 need 条件的字符个数
        int valid = 0;
        // 定义符合字符串的起始索引
        int len = Integer.MAX_VALUE;
        int start = 0;
        while (right < s.length()) {
            char ch = s.charAt(right);
            right++;
            if (need.containsKey(ch)) {
                window.put(ch, window.getOrDefault(ch, 0) + 1);
                if (window.get(ch).equals(need.get(ch))) {
                    valid++; // valid 加一次,说明窗口里面某一个字符又符合了
                }
            }
            // 如果 valid 和 need.size 的大小相同,则说明窗口已满足条件
            // 判断左侧窗口是否要收缩
            while (valid == need.size()) {
                // 在这里更新最小覆盖子串
                if (right - left < len) {
                    start = left;
                    len = right - left;
                }
                // d 是将移出窗口的字符
                char d = s.charAt(left);
                // 左移窗口
                left++;
                // 进行窗口内数据的一系列更新
                if (need.containsKey(d)) {
                    if (window.get(d).equals(need.get(d))) {
                        valid--;
                    }
                    window.put(d, window.get(d) - 1);
                }
            }
        }
        return len == Integer.MAX_VALUE ? "" : s.substring(start, start + len);
    }
}

springboot 使用AOP1

springboot使用aop2

springboot3

springboot3

springboot3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值