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() 后端返回"嵌入服务未初始化"

相关推荐
w_zero_one几秒前
动态规划(三)
java·算法·动态规划
牧羊人.3339 分钟前
自然语言处理基础 04|长短期记忆网络 LSTM
网络·人工智能·rnn·深度学习·学习·自然语言处理·lstm
木棉软糖11 分钟前
JDBC 读 ResultSet 读到一半,报 stream closed
java·mysql·spring
狂奔的sherry17 分钟前
JRuby 多线程反引号偶发 127:GC 提前释放了 posix_spawn 的 argv
java·linux·ruby·gc·jruby
咖啡八杯19 分钟前
异常体系设计:三类策略(i18n code、message、受检异常)
java·架构·代码规范
Spatial3Ddddd33 分钟前
2026空间三维重建服务商横向对比
java·服务器·人工智能
外收内放40 分钟前
数据分析(数据排序)
python·学习·数据分析
AI小云1 小时前
零基础如何系统学习AI?2026年技术路径与培训选择深度分析
人工智能·学习
Rain的Java大神之路1 小时前
Java 三层架构,90% 的人只答对一半:Controller 不是瘦,Service 不是透传,Dao 不是只写 SQL
java·后端·面试
我命由我123451 小时前
准入类与水平类职业资格
笔记·学习·职场和发展·产品运营·求职招聘·职场发展·产品经理