java学习 leetcode24交换链表节点 200岛屿数量 +一些开发任务

1. 24两两交换链表节点

1.迭代法 由单链表的修改 节点的指向,示意图,注意前后顺序

复制代码
/**
 * Definition for singly-linked list.
 * 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 swapPairs(ListNode head) {
        
//         ListNode dummy  = new  ListNode(0);
//         dummy.next = head;
//         ListNode prev = dummy;

//         while(prev.next != null && prev.next.next != null){
//             ListNode first = prev.next;
//             ListNode second = prev.next.next;

//             prev.next= second;
//             first.next = second.next;
//             second.next = first; 

//             prev = first;
//         }

//         return dummy.next;
//     }
// }

2.递归法 简洁些,比较难想

复制代码
//递归法

class Solution {
    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null){
            return head;
        }

        ListNode first = head;
        ListNode second  = head.next;

        first.next = swapPairs(second.next);
        second.next = first;

        return second;
    }
}

就是最后的两个交换,然后作为值swapPairs()返回

2. 200岛屿数量

复制代码
class Solution {
    public int numIslands(char[][] grid) {
        //我的思路:按照上下左右,有值就赋予一个字母;没有就赋值一个不同的字母值,看字母值
    
    //另一个思路就是遇到一个1,就会展开上下左右的搜索,并把检测到的相邻1赋值0
    //直到达到边界条件

    int count = 0;
    for(int i= 0;i<grid.length;i++){
        for(int j= 0; j< grid[0].length;j++){
            if(grid[i][j] == '1'){
                dfs(grid,i,j);
                count ++;
            }
        }
    }
    return count;
    }

    private void dfs(char[][] grid,int i,int j){
        if(i<0 || j <0 || i>=grid.length || j>= grid[0].length || grid[i][j] == '0') return;
        grid[i][j] = '0';
        dfs(grid, i +1,j);
        dfs(grid,i,j+1);
        dfs(grid,i,j-1);
        dfs(grid,i-1,j);
    }
}

//思路就是遇到一个1,就会展开上下左右的搜索,并把检测到的相邻1赋值0

//直到达到边界条件

3.开发:内网启动fastapi,swagger ui

1.这里swagger页面访问不了,发现少css等东西。首先看了其他的swagger ui启动所需要的python依赖

2.然后改代码,js、cs、css、redoc调用url或者在自己的运行文件目录下,装static/css等

3.联调测试发现两个问题:

一个是文档解析的时候,有个文件解析接口,不会在我写的方法里立刻返回,需要等待,这里文件写的就有漏洞了;

二是在向量化和milvus搜索的服务配置到fastapi的app的startup中时,发现有一个向量化服务的类

textembedding() 后端返回"嵌入服务未初始化"

相关推荐
白緢6 分钟前
嵌入式 Linux + 内核开发高频问题及排查
java·linux·运维
wayz1112 分钟前
21天机器学习核心算法学习计划(量化方向)
学习·算法·机器学习
Flandern111112 分钟前
Go程序员学习AI大模型项目实战02:给 AI 装上“大脑”:从配置解包到流式生成的深度拆解
人工智能·后端·python·学习·golang
juniperhan18 分钟前
Flink 系列第4篇:Flink 时间系统与 Timer 定时器实战精讲
java·大数据·数据仓库·flink
超级大只老咪20 分钟前
一维度前缀和解题通用模板(java)
java·开发语言·算法
weixin_5134499625 分钟前
walk_these_ways项目学习记录第十篇(通过行为多样性 (MoB) 实现地形泛化)--从仿真到部署
人工智能·学习·算法
历程里程碑27 分钟前
1 . Git本地操作:版本控制 跨平台协作 仓库核心
java·开发语言·数据结构·c++·git·gitee·github
hekung33 分钟前
maven的lifecycle与idea的run
java·maven
EnglishJun38 分钟前
ARM嵌入式学习(二十一)--- Platform总线结合dts、gpio子系统、中断和错误处理
arm开发·学习
CC城子39 分钟前
EtherCAT的igh学习与研究(一)
学习·ethercat