
算法
小龙Guo
这个作者很懒,什么都没留下…
展开
-
【C语言】用栈实现括号匹配详细代码+注释
【C语言】,用栈实现括号匹配。全部代码+注释原创 2022-07-10 16:58:35 · 2118 阅读 · 0 评论 -
不同路径问题--动态规划
1.一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? class Solution { public int uniquePaths(int m, int n) { int[][] dp = new int[m][n]; for (int i = 0; i < m; i++) {原创 2021-10-07 11:39:09 · 144 阅读 · 0 评论 -
N皇后问题---回溯法
问题描述: N皇后问题,研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击(任何两个皇后都不能处于同一条横行、纵行或斜线上。)。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。 例如:n=4,共有两种结果 力扣第51题便是此题 class Solution { public List<List<String>> sol原创 2021-10-03 14:13:29 · 253 阅读 · 0 评论 -
全排列2----有重复数字
利用used数字来记录当前数字是否被用过,如果当前数字和前一个数字一样,则跳过 class Solution { List<List<Integer>> res = new ArrayList<>(); List<Integer>temp = new ArrayList<>(); public List<List<Integer>> permuteUnique(int[] nums) {原创 2021-10-01 21:28:34 · 150 阅读 · 0 评论 -
全排列--回溯
class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> res = new ArrayList<>(); List<Integer>temp = new ArrayList<>(); if (nums==null || nums.length==0){原创 2021-09-24 16:00:23 · 115 阅读 · 0 评论 -
完成数独--java
思路:挨个判断当前要填入的数据是否合适,合适就填入 class Solution { public void solveSudoku(char[][] board) { write(board); } public boolean write(char [][] board){ for (int i=0;i<9;i++){ for (int j=0;j<9;j++){ if (boar原创 2021-09-23 00:15:44 · 211 阅读 · 0 评论 -
单链表翻转、k个一组进行翻转
单链表翻转、k个一组进行翻转 1. 整个单链表翻转,k个一组进行翻转,原理一样 2.假如有一个单链表:1->2->3->4->5->6->7->8 3.假如4个一组进行翻转,头结点为head 4,完整代码在最后,(k个一组,java) (1)我们令pre.next=head;保存头结点的前一个位置; (2)tail=pre;tail=tail.next循环4次找到这一组的尾巴位置,nex=tail.next保存尾巴位置的后一个位置,方便连接。 (3)现在就只需要将h原创 2021-09-16 00:44:47 · 272 阅读 · 1 评论