自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 二维矩阵的常见转换技巧

技巧1:二维矩阵按索引拍平到一维数组如下图所示,每一个二维矩阵对应的,按第1行到第m行依次排列所得到的一维数组的坐标,可以互相转换如第2行第3列的16这个数,其矩阵的坐标是(1,2),而映射到一维数组的时候,其对应的下标索引idx=6idx=6=i*n+j=1*4+2=6而如何通过idx=6反向得到矩阵的坐标呢?i=idx/n=6/4 =1j=idx%n=6%4 =2得到矩阵的坐标为(i,j) ==>(1,2)技巧2:将矩阵当成二进制转化成十进制背景知识对于十进制整

2021-06-30 09:27:31 2087 2

原创 向上取整向下取整探讨

符号向下取整符号:⌊x⌋⌊x⌋⌊x⌋,表示小于等于 xxx 的最大的整数。常用于分数,比如分数的向下取整 ⌊xy⌋⌊\cfrac {x} {y}⌋⌊yx​⌋。向上取整符号:⌈x⌉⌈x⌉⌈x⌉,与向下取整符号相对,表示大于等于 xxx 的最小的整数。向上取整先放结论:左边式子表示aaa对b+1b+1b+1向上取整,右边是取整的算法ceil(ab+1)ceil(\cfrac {a} {b+1})ceil(b+1a​) = a+bb+1\cfrac {a+b} {b+1}b+1a+b​当aaa是

2021-06-29 22:26:55 10851 1

原创 畅游面试中的动态规划套路-完全背包系列

2.完全背包零钱兑换题目链接:322. 零钱兑换题解链接:畅游面试中的动态规划套路-完全背包系列之零钱兑换零钱兑换问题的Follow Up 1Follow Up指的是面试过程中的追问环节,包括但不限于已有问题的举一反三,边界条件,优化方案basebasebase题是基于这一题:给定不同面额的硬币$ coins$ 和一个总金额 amountamountamount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1, 你可以认为每种硬币

2021-06-28 20:09:23 262 1

原创 畅游面试中的动态规划套路-01背包系列

1.01背包[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zu3WaHYb-1624538090975)(C:\Users\wangzhou\Desktop\jellyfish-1730018_640.jpg)]01背包问题考虑到N个物品的weights和profits,我们被要求把这些物品放在一个容量为C的背包里。目标是背包中的物品获得最大的profits。每个物品只能选择一次,因为物品的数量是有限制的。让我们以Merry's为例,他想在背包里装一些水果以获得最大的

2021-06-24 20:36:23 642 1

原创 面试题 17.23. 最大黑方阵

面试题 17.23. 最大黑方阵给定一个方阵,其中每个单元(像素)非黑即白。设计一个算法,找出 4 条边皆为黑色像素的最大子方阵。返回一个数组 [r, c, size] ,其中 r, c 分别代表子方阵左上角的行号和列号,size 是子方阵的边长。若有多个满足条件的子方阵,返回 r 最小的,若 r 相同,返回 c 最小的子方阵。若无满足条件的子方阵,返回空数组。示例 1:输入:[  [1,0,1],  [0,0,1], 

2021-06-10 19:14:35 149

原创 面试题 16.13. 平分正方形

面试题 16.13. 平分正方形给定两个正方形及一个二维平面。请找出将这两个正方形分割成两半的一条直线。假设正方形顶边和底边与 x 轴平行。每个正方形的数据square包含3个数值,正方形的左下顶点坐标[X,Y] = [square[0],square[1]],以及正方形的边长square[2]。所求直线穿过两个正方形会形成4个交点,请返回4个交点形成线段的两端点坐标(两个端点即为4个交点中距离最远的2个点,这2个点所连成的线段一定会穿过另外2个交点)。2个端点坐标[X1,Y1]和[X2,Y2]的返回

2021-06-10 10:04:13 202

原创 面试题 16.04. 井字游戏

面试题 16.04. 井字游戏以下是井字游戏的规则:玩家轮流将字符放入空位(" ")中。第一个玩家总是放字符"O",且第二个玩家总是放字符"X"。"X"和"O"只允许放置在空位中,不允许对已放有字符的位置进行填充。当有N个相同(且非空)的字符填充任何行、列或对角线时,游戏结束,对应该字符的玩家获胜。当所有位置非空时,也算为游戏结束。如果游戏结束,玩家不允许再放置字符。如果游戏存在获胜者,就返回该游戏的获胜者使用的字符("X"或"O");如果游戏以平局结束,则返回 "Draw";如果仍会有行

2021-06-09 22:39:10 253 1

原创 面试题 02.04. 分割链表

面试题 02.04. 分割链表编写程序以 x 为基准分割链表,使得所有小于 x 的节点排在大于或等于 x 的节点之前。如果链表中包含 x,x 只需出现在小于 x 的元素之后(如下所示)。分割元素 x 只需处于“右半部分”即可,其不需要被置于左右两部分之间。示例:输入: head = 3->5->8->5->10->2->1, x = 5输出: 3->1->2->10->5->5->8方法1:双指针/交换值/** *

2021-06-03 22:57:26 92 2

原创 个人主页【阿飞算法】

公众号:阿飞算法本人:

2021-06-03 19:43:17 2129

原创 面试题 17.15. 最长单词

面试题 17.15. 最长单词给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则返回空字符串。示例:输入: ["cat","banana","dog","nana","walk","walker","dogwalker"]输出: "dogwalker"解释: "dogwalker"可由"dog"和"walker"组成。提示:0 <= len(words) <

2021-06-03 19:35:32 834

Grokking the System Design by educative.io (z-lib.org).pdf

Grokking the System Design by educative.io

2021-08-24

猎豹wifi

猎豹wifi

2014-04-19

空空如也

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

TA关注的人

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