自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sunshine_lyn的博客

分享遇到的技术知识

  • 博客(197)
  • 收藏
  • 关注

原创 【子集/组合/全排列】C语言框架

C语言回溯框架解决Leetcode子集,组合,全排列三类问题

2022-08-25 16:24:42 490 1

原创 Leetcode有关滑动窗口的题目

代码是用C写的。239. 滑动窗口最大值使用单调双端队列记录窗口内可能的最大值。遍历数组一次,由于是找窗口内的最大值,在窗口移动的过程中,需要把窗口内可能成为接下来窗口最大值的数字先记录在队列中。入窗口:每次有一个数字滑入窗口的时候,这个数字必定需要记录在窗口内,因为以这个数字为起始位置的窗口是未知的,因此这个数字可能成为窗口的最大值,当这个数字进入窗口后,我们需要对队列里候选的最大值进行判断,如果发现先进队列的数字比当前数字要小,那么在当前数字成为窗口内最大值候选的时候,比它小的数字就不可能成为最

2020-06-28 14:27:21 466

原创 LeetCode 跳跃游戏I&II(贪心算法)

55. 跳跃游戏代码(C语言):int max(int a,int b){ return a>b?a:b;}bool canJump(int* nums, int numsSize){ int farthest=0; for(int i=0;i<numsSize-1;i++){ farthest=max(farthest,i+num...

2020-03-19 15:39:52 441

原创 LeetCode只出现一次的数字(位运算法)

136. 只出现一次的数字a^a=0; 0^a=aint singleNumber(int* nums, int numsSize){ int i,ans=0; for(i=0;i<numsSize;i++){ ans^=nums[i];//异或 } return ans;}260. 只出现一次的数字 III题中只有两个数出...

2020-03-17 18:18:18 279

原创 数组中的重复数字和消失数字求解模板(下标哈希法)

由于数组中存的为1~n,都为正数,我们可以用正负号来表示下标为 i 的数在数组中是否出现。搜索遍历整个数组时,如果已经为负数,那么之前一定出现过一次,这个数就是我们要找的重复的数字。最后哪些值为正数的下标i所对应的数字i+1就是在数组中没有出现过的数字。切记:index=abs(nums[i])-1;取下标的时候一定要加绝对值!!原来的数可能已经添加了负号442. 数组中重复的数据...

2020-03-17 16:12:12 293

原创 LeetCode比赛(持续更新…)

周赛:比赛时间为每周周日上午10:30-12:00LeetCode-第177场周赛LeetCode 第179场周赛双周赛:比赛时间为隔周周六LeetCode第 20 场双周赛

2020-03-16 21:23:03 1570

原创 LeetCode面试题07. 重建二叉树

面试题07. 重建二叉树解题思路:通过前序遍历找根节点,找到根节点后,再中序遍历中找当前根节点,找到后,左边的节点是当前根节点的左子树中的节点,右边的节点是当前根节点右子树的节点。递归建树。例如:代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * ...

2020-03-16 10:39:11 299

原创 LeetCode 第179场周赛

5352. 生成每种字符都是奇数个的字符串char * generateTheString(int n){ char *s=(char*)malloc(sizeof(char)*(n+1)); for(int i=0;i<n-1;i++) s[i]='a'; if(n%2==0) s[n-1]='b'; else ...

2020-03-14 20:20:18 260

转载 安装VMware Tools选项显示灰色的正确解决办法

一、VMware Tools简介  VMware Tools 中包含一系列服务和模块,可在 VMware 产品中实现多种功能,从而使用户能够更好地管理客户机操作系统,以及与客户机操作系统进行无缝交互。  VMware Tools 生命周期管理为 VMware Tools 的安装和升级提供了一种简单而可扩展的方式。它包含多项功能增强和与驱动程序相关的增强,并支持新的客户机操作系统。...

2020-03-14 14:51:54 31346 7

原创 动态规划求子序列和子串问题

LeetCode子序列问题:300. 最长上升子序列;673. 最长递增子序列的个数;1143. 最长公共子序列;516. 最长回文子序列LeetCode子串问题:5. 最长回文子串;14. 最长公共前缀300. 最长上升子序列int max(int a,int b){ return a>b?a:b;}int lengthOfLIS(int* nums, int ...

2020-03-14 11:15:39 331

原创 LeetCode50. Pow(x, n)

50. Pow(x, n)【思路】首先想到暴力法,直接算n次与x相乘,结果超时了……这一题很容易想到利用快速幂计算。我们讨论n的奇偶性,如果n为偶数,那么X^n=(X^2)^(n/2);如果n为奇数,那么X^n=(X^2)^((n-1)/2) *X,我们将这里的红色X保存下来,最后再乘上这些保存下来的X。当然这一题是也可以用递归方式来实现的。递归函数如下:double fas...

2020-03-10 10:57:21 177

原创 LeetCode322. 零钱兑换

322. 零钱兑换#include<stdlib.h>#include<algorithm.h>#define INF 0x3f3f3f3fint min(int a,int b){ return a<b?a:b;}int coinChange(int* coins, int coinsSize, int amount){ int i,...

2020-03-08 10:41:05 152

原创 LeetCode面试题52. 两个链表的第一个公共节点

面试题52. 两个链表的第一个公共节点【思路】双指针依次遍历两个链表,两者遍历长度一定是一样的。tmp1指向headA,tmp2指向headB,当遍历到链表末尾时,指向另一个链表头部继续遍历,这样如果存在公共节点,两者一定会相遇并一起走完相同的节点。相遇时的节点即为公共节点。/** * Definition for singly-linked list. * struct ListN...

2020-03-05 12:40:10 284

原创 LeetCode1103. 分糖果 II

【思路】糖果分发符合等差数列,计算时分为两步:1.找出可以完整拿到糖果数的轮回数,根据轮回数计算每个人在完整轮回可以获得的糖果数。2.最后一次分发不完整,按照手中糖果一次分发/** * Note: The returned array must be malloced, assume caller calls free(). */int* distributeCandies(int...

2020-03-05 10:33:14 295

原创 LeetCode994. 腐烂的橘子

在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:输入:...

2020-03-04 14:23:45 282

原创 LeetCode 第178场周赛

1.有多少小于当前数字的数字/** * Note: The returned array must be malloced, assume caller calls free(). */int* smallerNumbersThanCurrent(int* nums, int numsSize, int* returnSize){ int i,j; int *tmp=(...

2020-03-02 20:55:06 305

原创 LeetCode N皇后(回溯法C语言实现)

51. N皇后【思路】不管是八皇后还是N皇后,思想都一样,我们从第一行开始每一行放一个皇后,再放之前,判断是否与已经放置的皇后冲突(不能放同一行同一列同一对角线)因为每次在一行只放置一个皇后,因此,判断冲突的时候我们不需要在判断行了。如果不发生冲突,那么当前列可放,紧接着遍历下一行。直到所有的行都可以放一个皇后。我们用一维数组flag标记每一行皇后所在的列。例如flag[3]=7表示第3行...

2020-03-02 17:08:35 789 1

原创 LeetCode135. 分发糖果

老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 ...

2020-02-27 11:09:32 289

原创 LeetCode130. 被围绕的区域

给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 'O' 都...

2020-02-27 10:11:00 269

原创 LeetCode第 20 场双周赛

1.根据数字二进制下 1 的数目排序/** * Note: The returned array must be malloced, assume caller calls free(). */ int cal(int num){ int sum=0; while(num){ sum+=num%2; num/=2; }...

2020-02-26 15:42:59 256

原创 LeetCode 第177场周赛

1.日期之间隔几天【思路】计算两个日期和1970-1-1之间相隔的天数,然后相减即可。需要注意闰年闰月的判断。int getday(int *d1){ int month[12]={31,28,31,30,31,30,31,31,30,31,30,31}; int day1=0,i; for(i=1970;i<d1[0];i++){ if(...

2020-02-26 13:33:17 274

原创 LeetCode685.冗余连接II

在本问题中,有根树指满足以下条件的有向图。该树只有一个根节点,所有其他节点都是该根节点的后继。每一个节点只有一个父节点,除了根节点没有父节点。输入一个有向图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。 每一个边 的元素是一对 [u, v],用...

2020-02-25 13:30:17 246

原创 LeetCode 684. 冗余连接

在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。返回一条可以删去的边,使得结果图是一个有着N...

2020-02-25 13:30:11 208

原创 LeetCode.删除排序链表中的重复元素

这几天刷了些链表的题目,大家不要害怕链表的指针出错,只要仔细分析几种会出现的情况,对每一种情况指针该如何移动搞清楚,就不会有问题。在解题的时候要利用双指针,三指针甚至4指针同时移动操作,并且有的时候可以利用双指针间距为k来反向遍历。例如:利用一次遍历删除倒数第k个节点等等。给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2...

2020-02-24 12:21:41 234

原创 LeetCode 23. 合并K个排序链表

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6链接:https://leetcode-cn.com/problems/merge-k-sorted-list...

2020-02-22 17:53:31 174

原创 LeetCode5341. 最后 K 个数的乘积

请你实现一个「数字乘积类」ProductOfNumbers,要求支持下述两种方法:1. add(int num)将数字 num 添加到当前数字列表的最后面。2. getProduct(int k)返回当前数字列表中,最后 k 个数字的乘积。你可以假设当前列表中始终 至少 包含 k 个数字。题目数据保证:任何时候,任一连续数字序列的乘积都在 32-bit 整数范围内,不会溢出。...

2020-02-16 17:07:52 214

原创 买卖股票的最佳时期

参考:一个通用方法团灭 6 道股票问题以下代码是按照上述思路用C语言写的,供参考!第一题:k=1,买卖股票的最佳时期int max(int a,int b){ return a>b?a:b;}int maxProfit(int* prices, int pricesSize){ int i,j,dp[pricesSize+1][2]; if(pric...

2020-02-14 16:40:12 260

原创 LeetCode 97. 交错字符串

给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例 2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false链接:https://lee...

2020-02-13 15:46:30 146

原创 leetcode 72. 编辑距离

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose...

2020-02-09 15:10:01 177

原创 leetcode 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最...

2020-02-08 12:44:59 224

原创 leetcode174. 地下城游戏

一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他...

2020-02-06 20:41:28 1932

原创 leetcode300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n...

2020-02-06 14:28:28 282

原创 leetcode213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: ...

2020-02-05 23:54:55 271

原创 leetcode.877 石子游戏

亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。 亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。 假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 true ,当李赢得...

2020-02-05 17:47:18 406

转载 IEEE检验格式出现字体嵌入问题

第一次投会议,各项事情都是小白一枚,o(╥﹏╥)o,提交camera-ready paper的之前需要经过https://www.pdf-express.org/检测论文格式问题。如果通过了会发邮件给你正确的版本,一个账号有十次检验机会。下面是我第一次提交遇到的问题问题:提交后收到的邮件反馈如下参考博文解决了问题:https://blog.csdn.net/sinat_25326461/ar...

2019-07-03 19:35:02 1024

原创 具体数学之二项式系数2

又是一大堆公式来袭~~Sm=∑k≤m(m−1+rk)xkym−k+∑k⩽m(m−1+rk−1)xkym−kS_{m}=\sum_{k \leq m} \left( \begin{array}{c}{m-1+r} \\ {k}\end{array}\right) x^{k} y^{m-k}+\sum_{k \leqslant m} \left( \begin{array}{c}{m-1+r} ...

2019-05-10 14:45:09 551

原创 具体数学之二项式系数1

本章讲述的是二项式系数,包含了一大堆记不住的公式@<@1.(rk)={r(r−1)⋯(r−k+1)k(k−1)⋯(1)=rkk!,k⩾00,k&lt;0\left( \begin{array}{l}{r} \\ {k}\end{array}\right)=\left\{\begin{array}{l}{\frac{r(r-1) \cdots(r-k+1)}{k(k-1) \cd...

2019-05-09 22:05:32 681

原创 具体数学之数论

1.整除性:m\n⇔m&gt;0,并且m可以整除nm \backslash n \Leftrightarrow m &gt; 0,并且m可以整除nm\n⇔m>0,并且m可以整除n欧几里得算法求解最大公约数gcd⁡(0,n)=n\operatorname{gcd}(0, n)=ngcd(0,n)=ngcd⁡(m,n)=gcd⁡(n&VeryThinSpace;...

2019-05-03 14:43:19 429

原创 具体数学之和式和递归式(SUMS AND RECURRENCES)

我们对下述和式Sn=∑k=0nakS _ { n } = \sum _ { k = 0 } ^ { n } a _ { k }Sn​=k=0∑n​ak​应该很熟悉,可以想到高等数学中的级数,用求导之类的方法计算。那么它和递归式有何联系呢?齐时上面的求和表达式可以转化为下述递归表达式:S0=a0S _ { 0 } = a _ { 0 }S0​=a0​Sn=Sn−1+anS _ { n } = ...

2019-03-24 21:47:17 614

转载 亲测!ubuntu18.04安装搜狗输入法

Linux系统上没有一个好的输入法实在太难受了 ^^ ,之前也因为安装输入法出错过,所以这次试了很多种方法终于可以了!撒花~下面和我一起来试试看吧!注意 :安装的过程适用于18.04,低版本没有那么复杂,网上应该有很多资料。1.卸载ibussudo apt-get remove ibus2.清除ibus配置sudo apt-get purge ibus3.卸载顶部面板任务栏上的...

2019-03-17 20:43:16 718

空空如也

空空如也

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

TA关注的人

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