自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 mybatis结合MySQL的CTE语句进行批量更新

spring结合mybatis使用mysql的with...as的CTE语法实现批量更新,提供一个新的思路吧

2024-03-06 17:29:23 672

原创 springboot中minio的使用以及常用工具类,上传下载删除判断是否存在

springboot中minio的使用以及常用工具类,上传下载删除判断是否存在。

2024-01-02 17:58:39 1063 5

原创 八皇后问题

N 皇后问题leetcode今天单独写一下n皇后吧,利用回溯吧,赶明写一下回溯的模板写法吧class Solution{ public: vector<vector<string>> solveNQueens(int n) { vector<string> board(n,string(n,'.')); backtrack(board,0); return result; } private:

2021-04-22 00:14:53 81

原创 二叉树遍历一揽子——迭代方法非递归

二叉树遍历一揽子—迭代方法文章目录二叉树遍历一揽子—迭代方法二叉树的前序遍历代码模板二叉树的中序遍历代码模板二叉树的后序遍历代码模板二叉树的层序遍历代码模板从上到下打印二叉树代码模板二叉树的前序遍历给你二叉树的根节点 root ,返回它节点值的前序遍历。代码class Solution{public: vector<int> preorderTraversal(TreeNode *root) { vector<int> result;

2021-04-20 21:22:26 297 2

原创 随笔——DFS

DFS随笔今天想写一下DFS,就拿了4个题来作为演示吧,顺便总结一下dfs的模板写法吧,但是算法还是得自己多敲几遍才有效果。文章目录DFS随笔:cat:入门:n的全排列:cat2:中等 LeetCode [46. 全排列](https://leetcode-cn.com/problems/permutations/):crying_cat_face:LeetCode[77. 组合](https://leetcode-cn.com/problems/combinations/):heart_eyes_c

2021-04-19 21:27:20 128

原创 因式分解,输出素数因子及其指数

题目如上图大家要是有好的思路可以放在评论区思路一: 我想的是利用一个vector数组(可以有效判断因子个数)先来存储n的所有素数因子,然后通过另一个vector数组来进行计数,最后输出素数因子,以及其指数。代码是用C++实现的/* * @Author: ZBooo * @Date: 2021-02-05 20:17:34 * @LastEditTime: 2021-02-05 20:57:33 * @LastEditors: ZBooo * @Description: In User.

2021-02-05 21:40:42 616

原创 Task17——The End

本文链接:344. 反转字符串思路:双指针,两个指针,一个从前向后走,一个从后向前走,交换位置。代码:class Solution{public: void reverseString(vector<char> &s) { int i = 0, j = s.size() - 1; while (i < j) { swap(s[i], s[j]); j

2021-01-29 18:39:42 71

原创 Task16

本文链接:237. 删除链表中的节点思路:把要删除的节点的下一个节点的值赋给该节点,删除下一个节点,在令该节点的下一位指向下一位的下一位。class Solution{public: void deleteNode(ListNode *node) { node->val = node->next->val; node->next = node->next->next; }};238. 除自

2021-01-28 21:04:30 89

原创 Task15

本文链接:231 2的幂思路:利用位运算,利用&,两者同为1才是1看下面的图片吧代码:class Solution{public: bool isPowerOfTwo(int n) { if (n <= 0) return false; if (n & (n - 1) == 0) //& 两者同1都为1 return true; retu

2021-01-27 18:48:03 77

原创 Task14

本文链接:215. 数组中的第K个最大元素思路:用一下排序,返回数组的倒数第K个元素手撕了一下快排代码:class Solution{public: int findKthLargest(vector<int> &nums, int k) { QuickSort(nums, 0, nums.size()); return nums[nums.size() - k]; } void QuickSort

2021-01-26 19:43:16 70

原创 Task13

本文链接:160 相交链表思路:利用两个指针来进行遍历,P1先从l1开始然后l2,p2先从l2开始然后l1。如果有重合的,后面的元素一定是重合的。代码:class Solution{public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *a = headA, *b = headB; while (a != b)

2021-01-25 18:54:58 95

原创 Task12

本文链接:146. LRU 缓存机制思路:哈希表+双向链表实现代码:class DLinkedNode {public: int key; int val; DLinkedNode* pre; DLinkedNode* next; DLinkedNode() : key(0), val(0), pre(nullptr), next(nullptr) {} DLinkedNode(int _key, int _val) : key(_key)

2021-01-23 21:43:32 94

原创 Task11

本文链接:136 只出现一次的数字思路:利用位运算,看到这个题想到了我之前做的一道题,于是想着位运算可能简单一点。利用 异或运算,^ (二进制,各位不同取1,相同取0.) 0=a ^ a ,a=0 ^ a, a=a^ b ^ b代码:class Solution{public: int singleNumber(vector<int> &nums) { int result = 0; for (int i = 0;

2021-01-22 21:20:30 103

原创 Task10

本文链接:121 买卖股票的最佳时机思路1:暴力法 会TLE双层循环,第一层记录买入,第二层记录卖出,求出最大利润。代码:class Solution{public: int maxProfit(vector<int> &prices) { int BuyIn = 0, SellOut = 0; int Profit = 0; if(prices.empty()) retur

2021-01-21 21:48:45 146

原创 Task09

本文链接:88 合并两个有序数组思路:双指针法从后向前,p1后面有m+n-p1-1个元素,在任意时刻nums1有m-1-p1个元素被放入后面,而nums2中有n-1-p2个元素被放入后面。而(m+n-p1-1>m-1-p1+n-1-p2)==>(p2>-1)恒成立,所以从后面拿出的元素不会把前面的覆盖。ps:temp = nums2[p2- -]等价于temp=nums2[p2]; p2=- -;代码:class Solution{public: vo

2021-01-20 21:20:09 86

原创 Task08

本文链接:062、不同路径思路:方法一:每个方格的路线只有左面或者上面,所以给起始位置路径计做0,第一行和第一列的每个位置路径计做1,其他位置,只有上面和左面可以到达,因此,我们只计算左面和上面位置路径的和。即(i,j)的路径=(i-1,j)+(i,j-1)的路径和。class Solution{public: int uniquePaths(int m, int n) { vector<vector<int>> PathMap(m

2021-01-19 21:16:54 68

原创 Task07

054.螺旋矩阵思路:按照题目要求,一圈一圈的往里遍历**代码:class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { if(matrix.empty() || matrix[0].empty()) return {}; vector<int> res; int m = matri

2021-01-18 20:58:39 61

原创 Task06

43.字符串相乘思路:模拟真实乘法,不过先不进位,最后统一进位。代码:class Solution{public: string multiply(string num1, string num2) { string result = ""; if (num1 == "0" || num2 == "0") return "0"; int s1 = num1.size(), s2 = num2.size(

2021-01-17 21:24:03 112 1

原创 Task05——采用C++

第23题 合并K个升序链表思路:采用递归,由于之前已经做过两个链表的合并(可见上一个),所以K个链表其实就是两个链表的升级版,只需要让第二个以及以后的链表与第一个相组合,组合结果加入第一个链表,最后返回第一个链表就可以。C++代码:class Solution{public: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2) { if (l1 == nullptr) return

2021-01-16 20:20:06 125 1

原创 Task04——采用C++

1

2021-01-14 19:26:08 87

原创 Task03——采用C++

011 盛最多水的容器LeetCode链接https://leetcode-cn.com/problems/container-with-most-water/思路:C++代码://假装有代码,代码改天弄上来吧014 最长公共前缀LeetCode:https://leetcode-cn.com/problems/longest-common-prefix/思路:第一种是暴力法,直接拿第一个字符串每一位与后面的字符串比较。时间复杂度有点高,但是也不会TLE。C++代码://初.

2021-01-13 21:53:19 79

原创 Task02——采用C++

7. 整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2exp31, 2exp31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0提示:-2^31 <= x <= 2^31 - 1

2021-01-12 22:15:40 151

原创 Task01——采用C++

Task01题号2:两数相加题号:2难度:中等https://leetcode-cn.com/problems/add-two-numbers/ 3给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:(2 -> 4 -> 3) + (5 -> 6 -&g

2021-01-11 20:59:32 119

原创 链表——自己动手写了一下C++的

链表链表是一种数据结构,是一种功能极其强大的数组。链表可以很轻松的进行增添,删除,插入节点。目录链表单向链表1.创建链表1.1创建节点1.2初始化2.链表长度3.链表打印4.查找节点5.删除节点6.增加节点7.修改节点完整代码单向链表初学者一般先从单向链表开始,单向链表的操作一般包括:创建,修改,插入,输出,排序,反序,清空,求长度。1.创建链表利用结构体来定义节点,通过指针来实现链表1.1创建节点利用结构体进行..

2021-01-11 16:34:25 388 2

web程序开发asp.net

web程序开发asp.net

2021-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除