自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 所有博客2

4,Linux 18 篇 container_of函数和list_entry函数 https://blog.csdn.net/nameofcsdn/article/details/77370012 likely()与unlikely()函数 ...

2020-03-20 15:24:37 112 2

原创 所有博客

更新时间:2020年2月2日共1217篇 目录 0,程序员需要的逻辑思维 27篇 1,益智玩具 6篇 1.1 魔方 4篇 1.2 九连环 1篇 1.3 魔尺 1篇 1.4 其他玩具 0篇 2,游戏 296篇 2.1同一个世界 38篇 2.2智力游戏 69篇 2.3 黑白棋...

2017-12-04 21:16:48 3409 3

原创 力扣 934. 最短的桥

在给定的二维二进制数组A中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。) 现在,我们可以将0变为1,以使两座岛连接起来,变成一座岛。 返回必须翻转的0 的最小数目。(可以保证答案至少是 1。) 示例 1: 输入:[[0,1],[1,0]] 输出:1 示例 2: 输入:[[...

2020-06-02 15:05:38 14 0

原创 力扣OJ 1319. 连通网络的操作次数

用以太网线缆将n台计算机连接成一个网络,计算机的编号从0到n-1。线缆用connections表示,其中connections[i] = [a, b]连接了计算机a和b。 网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。 给你这个计算机网络的初始布线conn...

2020-06-01 08:53:18 13 0

原创 力扣周赛 5426. 重新规划路线

n 座城市,从 0 到 n-1 编号,其间共有 n-1 条路线。因此,要想在两座不同城市之间旅行只有唯一一条路线可供选择(路线网形成一颗树)。去年,交通运输部决定重新规划路线,以改变交通拥堵的状况。 路线用 connections 表示,其中 connections[i] = [a, b] 表示...

2020-05-31 17:16:30 27 0

原创 力扣周赛 5425. 切割后面积最大的蛋糕

矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中 horizontalCuts[i] 是从矩形蛋糕顶部到第i 个水平切口的距离,类似地, verticalCuts[j] 是从矩形蛋糕的左侧到第 j 个竖直切口的距离。 请你按数...

2020-05-31 17:07:16 29 0

原创 力扣周赛 5424. 数组中两元素的最大乘积

给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1: 输入:nums = [3,4,5,2] 输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),...

2020-05-31 17:04:54 24 0

原创 力扣周赛 5427. 两个盒子中球的颜色数相同的概率

桌面上有 2n 个颜色不完全相同的球,球上的颜色共有 k 种。给你一个大小为 k 的整数数组 balls ,其中 balls[i] 是颜色为i 的球的数量。 所有的球都已经 随机打乱顺序 ,前 n 个球放入第一个盒子,后 n 个球放入另一个盒子(请认真阅读示例 2 的解释部分)。 注意:这两个...

2020-05-31 16:24:22 54 0

原创 ACM总结——动态规划(2)问题本身的固有属性决定数据结构和算法

1,数据结构 数据结构不仅取决于问题研究的对象本身的数据结构,也取决于在这个对象上,我们需要什么样的形式的一个答案。 例如: 力扣OJ 740. 删除与获得点数https://blog.csdn.net/nameofcsdn/article/details/106436711 同样是数组,...

2020-05-30 09:03:01 31 0

原创 力扣OJ 740. 删除与获得点数

给定一个整数数组nums,你可以对它进行一些操作。 每次操作中,选择任意一个nums[i],删除它并获得nums[i]的点数。之后,你必须删除每个等于nums[i] - 1或nums[i] + 1的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 示例 1: 输入: n...

2020-05-30 08:49:52 17 0

原创 力扣OJ 1218. 最长定差子序列

给你一个整数数组arr和一个整数difference,请你找出arr中所有相邻元素之间的差等于给定difference的等差子序列,并返回其中最长的等差子序列的长度。 示例 1: 输入:arr = [1,2,3,4], difference = 1 输出:4 解释:最长的等差子序列是 [1...

2020-05-29 08:58:26 26 0

原创 ACM总结——动态规划(1)重叠子问题、最优子结构

动态规划(dynamic programming)简称DP。 先看3个简单的问题: 1,斐波那契数列 1,1,2,3,5,8...... 求第n项 int fac(int n) { if(n<3)return 1; return fac(n-1)+fac(n-2)...

2020-05-29 01:27:48 54 0

原创 C/C++ 静态告警清理——函数入参加const

规则:函数内对入参指针指向的地址没有修改的话,入参类型设为const 注意点: 1,有宏的地方,要点进去看内容 2,如果涉及到指针传递,要沿着调用链查看是否有修改指针指向的内容, 如果有修改就不能设为const,如果没有修改,则沿着调用链依次加const void f1(int *p)...

2020-05-29 00:37:31 19 0

原创 力扣OJ 1248. 统计「优美子数组」

给你一个整数数组nums 和一个整数 k。 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中「优美子数组」的数目。 示例 1: 输入:nums = [1,1,2,1,1], k = 3 输出:2 解释:包含 3 个奇数的子数组是 ...

2020-05-28 09:05:15 31 0

原创 力扣OJ 971. 翻转二叉树以匹配先序遍历

给定一个有 N 个节点的二叉树,每个节点都有一个不同于其他节点且处于 {1, ..., N} 中的值。 通过交换节点的左子节点和右子节点,可以翻转该二叉树中的节点。 考虑从根节点开始的先序遍历报告的 N 值序列。将这一 N 值序列称为树的行程。 (回想一下,节点的先序遍历意味着我们报告当前节...

2020-05-27 21:59:48 29 0

原创 力扣OJ 979. 在二叉树中分配硬币

给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 N 枚硬币。 在一次移动中,我们可以选择两个相邻的结点,然后将一枚硬币从其中一个结点移动到另一个结点。(移动可以是从父结点到子结点,或者从子结点移动到父结点。)。 返回使每个结点上...

2020-05-26 09:02:07 36 0

原创 力扣OJ 523. 连续的子数组和

给定一个包含非负数的数组和一个目标整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。 示例 1: 输入: [23,2,4,6,7], k = 6 输出: True 解释: [2,4] 是一个大小为 2 的子数组...

2020-05-25 22:09:26 46 0

原创 择路问题中的贪心原理

有2个很常见的择路问题 (1)商场中找WC 商场中找WC,经常会遇到这样的场景 用尽量标准的语言来描述是: 两个指示牌不明显一致,也不明显矛盾,只能说存在一致的可能性。 实际上的全景图可能是这种: 根据我多年的经验,选择最近的路,有更大的概率更快找到WC,有更大概率走更短的路找...

2020-05-24 14:37:08 152 0

原创 力扣周赛 5419. 两个子序列的最大点积

给你两个数组nums1和nums2。 请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。 数组的非空子序列是通过删除原数组中某些元素(可能一个也不删除)后剩余数字组成的序列,但不能改变数字间相对顺序。比方说,[2,3,5]是[1,2,3,4,5]的一个子序列而[1...

2020-05-24 12:29:40 59 0

原创 力扣周赛 5418. 二叉树中的伪回文路径

给你一棵二叉树,每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的,当它满足:路径经过的所有节点值的排列中,存在一个回文序列。 请你返回从根到叶子节点的所有路径中伪回文路径的数目。 示例 1: 输入:root = [2,3,1,3,1,null,1] 输出:2 解...

2020-05-24 12:25:08 42 0

原创 力扣周赛 5417. 定长子串中元音的最大数目

给你字符串 s 和整数 k 。 请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。 英文中的 元音字母 为(a, e, i, o, u)。 示例 1: 输入:s = "abciiidef", k = 3 输出:3 解释:子字符串 "...

2020-05-24 12:21:43 44 0

原创 力扣周赛 5416. 检查单词是否为句中其他单词的前缀

给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。 请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。 如果searchWord 是某一个单词的前缀,则返回句子sentence 中该...

2020-05-24 12:20:42 49 0

原创 力扣OJ 1420. 生成数组

给你三个整数 n、m 和 k 。下图描述的算法用于找出正整数数组中最大的元素。 请你生成一个具有下述属性的数组 arr : arr 中有 n 个整数。 1 <= arr[i] <= m 其中 (0 <= i < n) 。 将上面提到的算法应用于 arr ,search_...

2020-05-21 22:39:05 55 0

原创 力扣OJ 1424. 对角线遍历 II

给你一个列表nums,里面每一个元素都是一个整数列表。请你依照下面各图的规则,按顺序返回nums中对角线上的整数。 示例 1: 输入:nums = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,4,2,7,5,3,8,6,9] 示例 2: 输入:nums = [...

2020-05-20 20:00:45 21 0

原创 力扣周赛 1452. 收藏清单

给你一个数组 favoriteCompanies ,其中 favoriteCompanies[i] 是第 i 名用户收藏的公司清单(下标从 0 开始)。 请找出不是其他任何人收藏的公司清单的子集的收藏清单,并返回该清单下标。下标需要按升序排列。 示例 1: 输入:favoriteComp...

2020-05-18 16:57:29 66 0

原创 力扣周赛 1451. 重新排列句子中的单词

「句子」是一个用空格分隔单词的字符串。给你一个满足下述格式的句子 text : 句子的首字母大写 text 中的每个单词都用单个空格分隔。 请你重新排列 text 中的单词,使所有单词按其长度的升序排列。如果两个单词的长度相同,则保留其在原句子中的相对顺序。 请同样按上述格式返回新的句子。 ...

2020-05-18 16:43:49 31 0

原创 力扣周赛 5412. 在既定时间做作业的学生人数

给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。 已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。 请返回在查询时间 queryTime 时正在做作业的学生人...

2020-05-18 16:42:22 38 0

原创 重构函数(4)超多case的switch语句

如果一个switch有case1,case2......case20, 首先确认下有没有哪个case修改了枚举值,原则上case语句不应该修改枚举值的,不过还是要以防万一。 再确认下是不是所有非空case都带了break,如果有case不带break,那么这个case执行之后还要执行defau...

2020-05-15 15:26:23 26 0

原创 重构函数(3)圈复杂度计算

我司系统计算的圈复杂度,貌似是这个逻辑: 起步是1,然后if算1个,else算1个,如果是else if只算1个, case算1个,default算1个,空case不算,空default算。 这个计算逻辑,和我想象中差别挺大的。 ...

2020-05-15 15:02:10 58 0

原创 重构函数(2)变量排查

拆分函数的时候,对于拆出来得到的新函数, 要看里面的所有变量是什么类型的变量,是否有定义。 按照变量所写的位置,分为几种: 普通变量、数组下标变量、小数点或->后面的变量、宏里面的变量, 当然,宏里面的变量也分为普通变量、数组下标变量、小数点或->后面的变量, 对于小数点...

2020-05-14 17:17:05 20 0

原创 重构函数(1)条件合并

最近在重构函数,要求圈复杂度不超过7。 遇到这么一种代码: if (A && B && C) { do { sth1; } } if (B && C) { do { sth2; }...

2020-05-11 19:39:25 33 0

原创 力扣周赛 5406. 收集树上所有苹果的最少时间

给你一棵有n个节点的无向树,节点编号为0到n-1,它们中有一些节点有苹果。通过树上的一条边,需要花费 1 秒钟。你从节点 0出发,请你返回最少需要多少秒,可以收集到所有苹果,并回到节点 0 。 无向树的边由edges给出,其中edges[i] = [fromi, toi],表示有一条边连接fro...

2020-05-11 09:16:28 37 0

原创 力扣周赛 5405. 形成两个异或相等数组的三元组数目

给你一个整数数组 arr 。 现需要从数组中取三个下标 i、j 和 k ,其中 (0 <= i < j <= k < arr.length) 。 a 和 b 定义如下: a = arr[i] ^ arr[i + 1] ^ ... ^ arr[j - 1] b = ar...

2020-05-11 09:15:41 26 0

原创 力扣周赛 5404. 用栈操作构建数组

给你一个目标数组 target 和一个整数 n。每次迭代,需要从list = {1,2,3..., n} 中依序读取一个数字。 请使用下述操作来构建目标数组 target : Push:从 list 中读取一个新元素, 并将其推入数组中。 Pop:删除数组中的最后一个元素。 如果目标数组构建完...

2020-05-11 09:14:30 41 0

原创 坐电梯小技巧

1,背景:我住的楼大概有30层,我住3楼,平常是2个电梯,最近坏了一个,所以经常等电梯要很久。 2,简单分析: (1)平常坐电梯为什么都很快 不考虑电梯运行时间的话,一个电梯有大概50%的概率会停靠在一楼或负一楼,所以有75%的概率会有电梯停靠在一楼或负一楼,所以就很快。 (2)只有一个电梯的话有...

2020-05-10 23:21:03 52 0

原创 结构体大小和对齐值

1,基本变量的大小和对齐值 基本变量的大小就不用说了,char 1 int 4 double 8 等等。 基本变量的对齐值,就是他的大小。 代码: int n; int *p=&n; cout<<p; 输出的值一定是4的倍数,因为int变量的...

2020-05-07 16:14:09 31 0

原创 自我指涉

1,文字型 我这句话有两个我字,两个这字,两个句字,两个话字,两个有字,八个两字,十三个个字,十三个字字,两个八字,三个十字,四个三字,两个四字。 ...

2020-05-06 16:16:09 39 0

原创 无穷皇后问题

1,八皇后和N皇后问题 內固——N皇后问题https://blog.csdn.net/nameofcsdn/article/details/52637412 HDU 2553 N皇后问题https://blog.csdn.net/nameofcsdn/article/details/51996...

2020-05-06 16:07:19 46 0

原创 幻方构造法

一,幻方的轮胎模型 把一个n*n的表格平面,上下相接,左右相接,变成一个轮胎。 借用https://www.zhihu.com/question/30498489/answer/49208033的示意图: 二,奇数阶幻方的构造法 1,loubere构造法 2,loubere构造法...

2020-05-06 01:49:14 60 0

原创 汗马奖

警告:本博客纯属自娱自乐,读者不要浪费自己时间! 2020年5月3日,写博客已经快4年了,已经有近1400篇博客了。 回想起来,有一些博客的写作过程,值得获得一个我自己颁发的汗马奖,下面是一一道来。 (1)10个关联的多选题 https://blog.csdn.net/nameof...

2020-05-03 02:16:18 25 0

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