![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
小白师弟学java
随意把自己的语雀笔记搬过来些
展开
-
回溯算法之棋盘问题hard
卡哥说是二维递归,比之前做的所有回溯题都要多一维。要在每一行每一列选择1到9中的一个数,而例如n皇后只用在每一行选择一个位置。【代码上好像是多了两维,是从一层for循环变成了三层。,这样每次都要递归都要走一遍已经确定数字的格子,不过递归过的格子数有标记,也就还是从下一个格子开始了。(2)皇后位置的约束,创建一个新函数。(3)难点:回溯函数中什么时候返回false,什么时候返回true。根据空格的行列和填入的数判断是否有效。(3)45度斜线行列和相等;(1)用回溯的思想寻找每一行皇后的位置。原创 2023-12-19 13:06:41 · 448 阅读 · 1 评论 -
回溯算法之子集问题 leetxode子集问题78,90,491
所以是在traceback函数的开头新建hashset,将每次遍历的点加入。(1)加入结果集的条件,时机仍然是在非叶子节点,条件必须正序——好解决。(2)去重不能在使用之前的方法,因为不能对原数组排序——难解决!难点是突然发现回溯算法一直没有好好想时间复杂度的问题。思路和组合、分割都像,却别是非叶子节点也要加入结果集。思路:这个题有了很大的不同 主要不同体现在以下两点。重点:去重方法很容易想到哈希树,关键怎么用!去重思路和分割、三数之和都一样。如图,不是一层或者所有节点,而是。原创 2023-12-16 22:08:48 · 437 阅读 · 0 评论 -
回溯算法之分割问题 leetcode分割回文串、复原ip地址
但是仍然存在最后一个网段少点,删除数量不同的问题,他这个索引i+number+2在最后一个字段会超过字符长度。题目:给你一个字符串 s,请你将s分割成一些子串,使每个子串都是 回文串。可以看到:delete函数的第二个参数如果超过了sb的长度并不会报错,而是会让end=count。思路:和上一个题一样,也是分割。思路:分割问题和组合问题有相似之处,一个是选数,一个是选分割线。我是倒数一个一个删,并且最后一个后面也加了点,保证数量不出错。卡哥的java代码 主要看最后,回溯时sb删除的那行。原创 2023-12-14 11:28:29 · 649 阅读 · 1 评论 -
java中栈与队列基础知识、队列的不同实现方式
java中的栈与队列原创 2023-11-23 16:24:19 · 412 阅读 · 0 评论 -
java翻转二叉树的四种方法(与遍历二叉树相对应)
反转二叉树原创 2023-11-24 13:25:44 · 759 阅读 · 1 评论 -
回溯算法之组合问题及其剪枝优化
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。原创 2023-11-28 10:44:53 · 529 阅读 · 0 评论 -
动态规划算法入门之爬楼梯系列
动态规划算法入门之爬楼梯系列原创 2023-11-29 13:53:02 · 705 阅读 · 1 评论 -
动态规划求解分割等和子集(java)leetcode416
动态规划求解分割等和子集(java)leetcode416原创 2023-12-01 14:31:00 · 523 阅读 · 1 评论