自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 C积累-截取字符串中指定位置指定长度的字符段

/截取指定字符段。ch:被截取的源字符串,pos:开始截取的首字符位置,length:截取的长度,返回字符串指针。//通过calloc来分配一个length长度的字符数组,返回的是字符指针。//只有在C99下for循环中才可以声明变量,这里写在外面,提高兼容性。//返回分配的字符数组地址。//加上字符串结束符。//定义一个字符指针,指向传递进来的ch地址。//是pch指针指向pos位置。//循环遍历赋值数组。

2023-07-19 20:50:41 696

原创 leecode第12天,动态规划之爬楼梯,打家劫舍,三角形最小路径和

第一题爬楼梯,个人感觉很像高中写的那种证明题,找到通用公式再确定几个初始值,然后就入循环就好了,感觉属于想得出来公式就做得出来,想不出来就想不出来的那种,唉直接看代码?class Solution { public int climbStairs(int n) { int p = 0; int q = 0; int r = 1; for(int i =0;i<n;i++){ p = q; ..

2021-11-26 17:04:09 276

原创 leecode第11天,回溯算法之组合,全排列,字母大小写全排列

第11天,十分痛苦,回溯前期理解太苦涩了,而且程序怎么运行的是比较不懂的,回去吃完饭拉上小钟两个人看了两个小时,打了无数断点想看明白怎么计算出结果的,还好理解了现在。关键点在于递归后需要回溯状态!!!先看第一题组合class Solution { public List<List<Integer>> combine(int n, int k) { //存放最终返回结果 List<List<Integer>> a

2021-11-23 16:52:06 3277

原创 Leecode第十天 递归/回溯之合并两个有序链表,反转链表

第十天两个简单递归,第一题class Solution {//每次输入两个节点,对比大小,并且选择下一个next节点,进行递归 public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1 == null){ return l2; }else if(l2 == null){ return l1; }else if (l1.val &

2021-11-23 16:14:33 348

原创 Leecode第九天,广度优先搜索之矩阵,腐烂的橘子

第九天,两个广度优先搜索的算法题,先来看第一个乍一看没有头绪,那我们先简化一下题目,假如只有一个0,那问题是不是很简单,以唯一的0作为中心做广度优先搜索,设个变量depth,每搜索一层,depth+1。简单解决。那么现在有多个0,好了,有点复杂,但是换一下思维,把多个0看成“超级0”辐射而来的就轻松解决了,现在题目变成这样:有一个超级0,其他都是1,算出每个1到超级0的距离。但是超级0做广度优先搜索的第一层辐射创造出了多个0,逻辑关系不需要写,现在需要笔者继续完成剩下的广度优先搜索。好的,太简单了.

2021-11-23 15:51:03 402

原创 剑指第一天-栈与队列之两个栈实现队列,包含min函数的栈

先熟悉栈的基本知识:先进后出栈的实例化:Stack<Integer> stack = new Stack<>();栈的基本方法:object empty() 测试堆栈是否为空。Object peek( ) 查看堆栈顶部的对象,但不从堆栈中移除它。Object pop( ) 移除堆栈顶部的对象,并作为此函数的值返回该对象Object push(Object element) 进栈。...

2021-11-18 17:45:18 265

原创 刷Leecode第8天,深度/广度优先搜索之树的遍历-合并二叉树,填充每个节点的下一个右侧节点

合并二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode rig

2021-11-18 16:25:14 182

原创 刷Leecode第7天,深度优先算法-图像渲染,岛屿最大面积

图像渲染代码和注释如下class Solution { //用来上下左右遍历 int[] dx = {1, 0, 0, -1}; int[] dy = {0, 1, -1, 0}; public int[][] floodFill(int[][] image, int sr, int sc, int newColor) { //拿到目标位置的颜色 int currColor = image[sr][sc]; //比较目标

2021-11-18 15:59:50 3722

原创 刷Leecode第6天,滑动窗口之无重复字符的最长字串和字符串 的排列

滑动窗口算法的使用需要搭配哈希表的键-值存放属性相结合,本身存在难度。来看看第一题:无重复字符的最长字串思路: int ans 为当前无重复字符串最大长度。新建哈希表,key存放字符串的单个字符char,value存放当前char所在字符串中的位置,一开始,left和right都在0处,即字符串开始处,right右移,将扫描到的字符存储在哈希表中,同时做判断,如果是新字符则不断移动,ans更新。如果里面有已经有重复的key了,则left移动至上个重复Key对应value后一位处,ans更新。不.

2021-11-16 16:14:02 635

原创 刷Leecode第5天,链表中的双指针-1.链表的中间节点,2.删除倒数第N个节点

今天之前没接触过链表的相关知识,先是恶补了一下。建议和我经历一样的伙伴也先看看链表的基本概念。第一题:返回链表的中间节点思路有很多:1,遍历两次,第一次获取总长度,第二次返回中间节点。2,双指针之快慢指针,快指针一次两步,慢指针一步,快指针到头时,慢指针所在节点就是中间节点,返回出去就行。快慢指针代码class Solution { public ListNode middleNode(ListNode head) { ListNode slow = head, f

2021-11-16 10:30:26 482

原创 leecode第四天,双指针-反转字符串和反转字符串中的单词

闲话不说先看第一题-反转字符串题目很简单,只要设定双指针交换就行,直接上代码class Solution { public void reverseString(char[] s) { int n =s.length; int left = 0; int right = n-1; while(left < right){ char middle = s[right]; s

2021-11-15 16:59:17 540

原创 leecode第三天,双指针-移动零、两数之和

过了一个周末,回来继续leecode之旅。今天两道题目:移动零,两数之和。先来第一题:移动零简单明了,将数组中的0全部右移,不改变数组长度和其余数字的顺序。思路有两个:“交换”和“覆盖”。我用的覆盖,详细思路:设定两个指针 i 和 j ,初始都是0. i指针不断右移,区分指向元素是否是0,如果不是0,j指针指向元素=i指针指向元素,并且同时右移。如果是0;j指针不动,i指针右移,到最后,数组里有多少个空就用多少个0 覆盖。代码public void moveZeroes(int[] nu.

2021-11-15 16:36:28 514

原创 刷leecode第二天,有序数组的平方和轮转数组。

第二天的题目一共两题。有序数组的平方和轮转数组。先看中等难度的第二题:乱转数组。看到题目,首先我的想法是先处理K,因为当K是数组长度n的整数倍时,数组就相当于没动,所以先得到真正移动值m=k%n.然后我的想法是新建一个数组result来根据移动规律赋值,接下来就是找规律啦,思路肯定是要进循环,通过这种循环,每一次循环处理一个result元素,先假设数组无限长,i + k就是第i个元素移动后的位置,但是当这个值大于数组长度时,就该减去n。所以得到。完整代码public class one {

2021-11-12 11:08:59 3967

原创 刷leecode的第一天(二分法)

为了提升自己,今天实习下班了之后回家刷起了leecode,由于之前没有经验,所以索性从算法入门开始刷起吧。第一天三个题都是关于二分法查找的,第一个是正儿八经的二分法查询,第二个查找哪个是第一个错误的版本,第三个是在第一个的基础上加一个“如果没找到目标数字,那就返回合适的插值位置”。第一个和第三个大同小异,自己写了个版本也过了,下面是第三题的class Solution { public int searchInsert(int[] nums, int target) {

2021-11-11 23:38:38 202

原创 Maven工程写了个接口功能,测试一直过不了。

最近实习的时候写了第一个接口功能,但是测试总是过不了,打了断点一步步看,发现问题总是出在mapper文件里的入参上。水平太差改了一下午,最后在同事的帮助下发现问题是这样的:公司用来出入参的属性都设置的String型,而其中有的入参是数字,有的是字符,当入参传到数据库里进行查找时,识别不了。是因为在输入入参内容是字符串型的时候,要加单引号,告诉JAVA这是一个字符串型,如果是int型的入参则不需要担心。好好看图就好了。...

2021-10-28 10:13:38 171

原创 idea打开maven工程后,右侧无maven选项,且文件标识为J

作为一名JAVA新手,在实习过程中遇到的各种问题,解决后记录在这,说不定可以帮助到其他人,也可以日后自己重温。解决:(1)右击项目pom.xml文件,选择add as maven project。此时右侧出现maven选项 (2)点击右侧maven选项,点击上方工具栏中的扳手maven settings; (3)设置好settings.xml文件和本地仓库地址...

2021-10-28 10:00:39 319

空空如也

空空如也

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

TA关注的人

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