Giter Club home page Giter Club logo

free-programming-books's Introduction

码农书籍/周刊

简介:每周定时前端领域的最新技术咨讯,不定期更新编程书籍高效实用软件LeetCode 题题 等,供各位小伙伴们学习参考,同时也方便自己提升,欢迎 WatchStar

  • 加我微信邀请你:su-south,加入微信群与前端大佬交流技术。
  • 加群请记得备注暗号:666
  • 🌺 扫码进微信群

分类目录

职场漫画

漫画 | 上班第一天,前端把后端告上县衙,还列了 5 宗罪 漫画 | 半夜加班回家,差点凑了出租车司机 漫画 | 互联网人吐槽大会系列漫画 要来啦~ 漫画 | 北上广的年轻人,为什么不敢回家过年?~ 漫画 | 阿姨,我不想努力了~~ 漫画 | 尴尬,我把面试官整崩溃了~ 漫画 | 遇上个傻X领导是什么体验? 漫画 | 如何向外行解释产品经理频繁更改需求会令程序员很烦恼 夜深了,程序员的电脑却没关…… 小公司卧薪尝胆三年,意外拿到美团offer 人到中年一地鸡毛 前端发展史的江湖恩怨情仇 微信诞生记

更多分享

  • 博客:前端布道师
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。
  • 想进微信群的小伙伴加群主:su-south,最新资源会第一时间在群内公布。
  • QQ群:912594095
  • 加群请记得备注暗号:666
微信进群 公众号 小程序
前端布道师专注于分享`前端、测试` 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮,前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,前端布道师,苏南,全栈 前端布道师,苏南的专栏,码农书籍 小程序
微信:su-south 前端布道师 码农书籍

欢迎持续关注,会不定期更新~

free-programming-books's People

Contributors

meibin08 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

free-programming-books's Issues

码农周报 2019年第七周 - 2019.02.17

IT平头哥联盟

码农周报 2019年第七周(02-17)

好文推荐:

软件/其他类:

电子书籍

更多分享:

  • 博客:IT平头哥联盟
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。

IT平头哥联盟专注于分享前端、测试 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮 前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,IT平头哥联盟,苏南,全栈,苏南的专栏

周报更新时间 2019-02-17

Array:解题:存在重复元素 III(NO:220)

给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。

  • 示例 1:
输入: nums = [1,2,3,1], k = 3, t = 0
输出: true
  • 示例 2:
输入: nums = [1,0,1,1], k = 1, t = 2
输出: true
  • 示例 3:
输入: nums = [1,5,9,1,5,9], k = 2, t = 3
输出: false

原题链接:https://leetcode-cn.com/problems/contains-duplicate-iii/

Array-解题:三个数的最大乘积(NO.628)

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。

  • 示例 1:
输入: [1,2,3]
输出: 6
  • 示例 2:
输入: [1,2,3,4]
输出: 24
  • 注意:

给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。
输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。

码农周报 2019年第十二周 - 2019.03.24

IT平头哥联盟

码农周报 2019年第十二周(03-24)

  • IT平头哥联盟公众号 2018年好文汇总推荐~
  • 想进微信群的小伙伴加群主:su-south,最新资源会第一时间在群内公布。
  • 加群请记得备注暗号:666
  • QQ群:912594095

扫码进微信群:

IT平头哥联盟

好文推荐:

电子书籍

更多分享:

  • 博客:IT平头哥联盟
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。

IT平头哥联盟专注于分享前端、测试 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮 前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,IT平头哥联盟,苏南,全栈,苏南的专栏

周报更新时间 2019-03-26

String-解题:反转字符串(NO.344)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

  • 示例 1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
  • 示例 2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]

原题链接:https://leetcode-cn.com/problems/reverse-string/

2018 前端好文整理汇总推荐

IT平头哥联盟

IT平头哥联盟 - 码农周报

  • IT平头哥联盟公众号 2018年好文汇总推荐~
  • 进群请加群主:su-south
  • QQ群:912594095
  • 加群请备注暗号:666

1、Javascript系列

2、小程序系列

3、CSS/HTML系列

4、软件测试系列

5、程序员日常系列

6、周五不聊技术系列

更多分享:

  • 博客:IT平头哥联盟
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。

IT平头哥联盟专注于分享前端、测试 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮 前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,IT平头哥联盟,苏南,全栈,苏南的专栏

Array-解题:搜索插入位置

leetcode解题序号:34

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

  • 示例 1:
输入: [1,3,5,6], 5
输出: 2
  • 示例 2:
输入: [1,3,5,6], 2
输出: 1
  • 示例 3:
输入: [1,3,5,6], 7
输出: 4
  • 示例 4:
输入: [1,3,5,6], 0
输出: 0

Function-解题:常数时间插入、删除和获取随机元素(NO.380)

设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。

insert(val):当元素 val 不存在时,向集合中插入该项。
remove(val):元素 val 存在时,从集合中移除该项。
getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。

  • 示例 :

// 初始化一个空的集合。
RandomizedSet randomSet = new RandomizedSet();

// 向集合中插入 1 。返回 true 表示 1 被成功地插入。
randomSet.insert(1);

// 返回 false ,表示集合中不存在 2 。
randomSet.remove(2);

// 向集合中插入 2 。返回 true 。集合现在包含 [1,2] 。
randomSet.insert(2);

// getRandom 应随机返回 1 或 2 。
randomSet.getRandom();

// 从集合中移除 1 ,返回 true 。集合现在包含 [2] 。
randomSet.remove(1);

// 2 已在集合中,所以返回 false 。
randomSet.insert(2);

// 由于 2 是集合中唯一的数字,getRandom 总是返回 2 。
randomSet.getRandom();

原题链接:https://leetcode-cn.com/problems/insert-delete-getrandom-o1/

码农周报第29、30期

码农周报第29、30期

码农周报推荐

快速排查和修复问题。超过 500K 开发人员使用 Sentry 修复错误
摘要:根据提交信息只通知到相关合适人员,并使用源映射查看堆栈跟踪中的未压缩代码,前端日志异常定位工具……

如何处理 JavaScript 纯函数中的染污外部影响(dirty side effects)
摘要:纯函数指的是那些不产生外部影响的函数。但是如果你对编程有所了解,你就会知道 side effect 也是关键之处……

编写更好的 JavaScript 条件式和匹配条件的技巧
摘要:如果你像我一样乐于见到整洁的代码,那么你会尽可能地减少代码中的条件语句……

大型项目前端架构浅谈
摘要:随着能力的上升,以及在阿里巴巴工作的经验,是时候写一篇大型项目的前端架构分析了……

Javascript

其他

更多精彩

  • 想与数十万前端一起交流、成长?
  • 加群主:su-south,邀请进入前端技术交流群,最新资源也会第一时间在群内公布。
    领略前端技术前沿,阅读IT平头哥联盟

码农周报 2019年第十一周 - 2019.03.17

Array-解题:两数之和

题目描述:

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

  • 示例:
给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

码农周刊第五、六周 - 2019.02.11

IT平头哥联盟

码农周报 2019年第五、六周(02-11)

好文推荐:

免费图库类:

电子书籍

更多分享:

  • 博客:IT平头哥联盟
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。

IT平头哥联盟专注于分享前端、测试 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮 前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,IT平头哥联盟,苏南,全栈,苏南的专栏

周报更新时间 2019-02-11

Array-解题:最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

  • 示例 1:
输入: ["flower","flow","flight"]
输出: "fl"
  • 示例 2:
输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。
  • 说明:
    所有输入只包含小写字母 a-z 。

String-解题:2个正整数字符串

阿里伯乐代码评测系统题(来自微信群,大佬的截图,自己汇总一下)
2个正整数字符串 AB的相加,返回结果,
PS:考虑超长字符串相加

  • 示例:
输入:'1' + '19' 
输出:'20'
  • 示例:
输入:'999999999999999999999' + '99999999999999' 
输出:'1000000099999999999998'

Array-解题:只出现一次的数字 III(NO:260)

给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。

  • 示例 :
输入: [1,2,1,3,2,5]
输出: [3,5]
  • 注意:
    结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。
    你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?

原题链接:https://leetcode-cn.com/problems/single-number-iii/

欢迎关注公众号:*IT平头哥联盟,一起交流
前端面试题,解题,前端开发工程师是Web前端开发工程师的简称,2007年才真正开始受到重视的一个新兴职业。Web前端开发技术是一个先易后难的过程

码农周报第27、28期

码农周报第27、28期

码农周报推荐

零基础的小明要如何成为前端工程师?
摘要:前端的历史,有点意思……

一个项目是如何死掉的?太过真实!
摘要:做项目多年,见过成功的项目,也见过太多失败的项目;成功或失败,都是项目的宿命……

第三方脚本的网络性能:两个讨论
摘要:这两个讨论可以帮助你考虑,第三方脚本可能对你的网站的性能产生的影响。……

关于裸辞,关于前端面试
摘要:3年转行程序媛一枚,今年4月底裸辞。5月出去旅游一趟,回来找工作两周,面试8家,通过4家。目前已经入职……

Javascript

其他

更多精彩

领略前端技术前沿,阅读IT平头哥联盟

码农周报 2019年第十五、十六周 - 2019.04.21

码农周报第25、26期

码农周报第25、26期

码农周报推荐

如何用200行JavaScript代码实现人脸检测?
摘要:在超市、地铁、车站等很多场景中,人脸识别已经被广泛应用,但是这个功能究竟是怎么实现的?……

如何写出让同事无法维护的代码?
摘要:对,你没看错,本文就是教你怎么写出让同事无法维护的代码……

20 个让你效率更高的 CSS 代码技巧
摘要:由各大CSS网站总结推荐的20个有用的规则和实践经验集合……

Javascript

其他

更多精彩

领略前端技术前沿,阅读IT平头哥联盟

码农周报 2019年第十周 - 2019.03.10

码农周刊第四周 - 2019.01.27

码农周报 2019年第九周 - 2019.03.03

码农周报第21、22期

码农周报第21、22期

码农周报推荐

前端:后端,我们要分手,咱两不合适
摘要:前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式……

一个流水线女工人到谷歌工程师的经历~
摘要: 高中毕业后没钱也没分数没能去读大学。后面拿到了深大的自考毕业证书和学位…………2018年10月初,拿到EPAM Systems公司的一个offer

无名前端的10年前端路~
摘要:中年前端的职场生活,希望能带给你一些经验。……

Javascript

其他

更多精彩

领略前端技术前沿,阅读IT平头哥联盟

码农周报第17、18期

Array-解题:按奇偶排序数组(NO.905)

给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。
对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。
你可以返回任何满足上述条件的数组作为答案。

  • 示例:
输入:[4,2,5,7]
输出:[4,5,2,7]
解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。
  • 提示:

2 <= A.length <= 20000
A.length % 2 == 0
0 <= A[i] <= 1000

原题链接:https://leetcode-cn.com/problems/sort-array-by-parity-ii/

码农周报 2019年第十三、十四周 - 2019.04.04

IT平头哥联盟

码农周报 2019年第十三、十四周(04-04)

  • IT平头哥联盟公众号 2018年好文汇总推荐~
  • 想进微信群的小伙伴加群主:su-south,最新资源会第一时间在群内公布。
  • 加群请记得备注暗号:666
  • QQ群:912594095

扫码进微信群:

IT平头哥联盟

好文推荐:

软件/其他类:

电子书籍

更多分享:

  • 博客:IT平头哥联盟
  • 如链接失效,请直接在小程序上阅读,或关注下方公众号,联系我获取。

IT平头哥联盟专注于分享前端、测试 等领域的积累,文章来源于自己/群友工作中积累的经验、填过的坑,希望能尽绵薄之力 助其他同学少走一些弯路,苏南的专栏,书籍,码农书籍,前端开发、React入门,苏南的博客,专注前端开发,关注用户体验,关注国内外最新最好的前端开发技术和前端开发资讯的专业博客,用心分享 与您一起成长,做有温度的攻城狮 前端开发,前端开发工程师,前端资源,JavaScript,HTML5,CSS3,React,ES6,susouth,IT平头哥联盟,苏南,全栈,苏南的专栏

周报更新时间 2019-04-04

Array-解题:在排序数组中查找元素的第一个和最后一个位置

leetcode解题序号:34

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。

你的算法时间复杂度必须是 O(log n) 级别。

如果数组中不存在目标值,返回 [-1, -1]。

  • 示例 1:
输入: nums = [5,7,7,8,8,10], target = 8
输出: [3,4];
  • 示例 2:
输入: nums = [5,7,7,8,8,10], target = 6
输出: [-1,-1]

码农周报第33、34期

码农周报第33、34期

码农周报推荐

Why程序猿996会猝死,而企业家007却不会?
摘要:用漫画解说,资本家丑陋的嘴脸,也诠释了程序的无奈…

如何阅读大型前端开源项目的源码?
摘要:网上有很多「XX源码分析」这样的文章,不过这些文章分析源码的范围有限,有时候讲的内容不是读者最关心的…

一个月薪12000的北京程序员的真实生活
摘要:每个人都有一条生活道路。千万人,千万条,各不相同,各有特点。但是并不是好人都有一条好路,坏人都有一坏路……

'我用 React 和 Vue 构建了相同的应用程序。这是它们的差异。
摘要:如果你想要直接比较 Vue 和 React,这里满足你的需求。……

Javascript

其他

更多精彩

  • 想与数十万前端一起交流、成长?
  • 加群主微信:su-south,邀请进入前端技术交流群,最新资源也会第一时间在群内公布。
    领略前端技术前沿,阅读IT平头哥联盟

码农周报 2019年第八周 - 2019.02.24

Array-解题:寻找数组的中心索引(NO.724)

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

  • 示例 1:
输入: 
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释: 
索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。
同时, 3 也是第一个符合要求的中心索引。
  • 示例 2:
输入: 
nums = [1, 2, 3]
输出: -1
解释: 
数组中不存在满足此条件的中心索引。
  • 说明:

nums 的长度范围为 [0, 10000]。
任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。
原题链接:https://leetcode-cn.com/problems/find-pivot-index/

Array-解题:翻转图像(NO.832)

给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。

水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。

反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。

  • 示例 1:
输入: [[1,1,0],[1,0,1],[0,0,0]]
输出: [[1,0,0],[0,1,0],[1,1,1]]
解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]];
     然后反转图片: [[1,0,0],[0,1,0],[1,1,1]]
  • 示例 2:
输入: [[1,1,0,0],[1,0,0,1],[0,1,1,1],[1,0,1,0]]
输出: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
解释: 首先翻转每一行: [[0,0,1,1],[1,0,0,1],[1,1,1,0],[0,1,0,1]];
     然后反转图片: [[1,1,0,0],[0,1,1,0],[0,0,0,1],[1,0,1,0]]
  • 说明:

1 <= A.length = A[0].length <= 20
0 <= A[i][j] <= 1

Array-解题: 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。

  • 示例 1:
输入: 
[
  [1,1,1],
  [1,0,1],
  [1,1,1]
]
输出: 
[
  [1,0,1],
  [0,0,0],
  [1,0,1]
]
  • 示例 2:
输入: 
[
  [0,1,2,0],
  [3,4,5,2],
  [1,3,1,5]
]
输出: 
[
  [0,0,0,0],
  [0,4,5,0],
  [0,3,1,0]
]
  • 进阶:

一个直接的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。
一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
你能想出一个常数空间的解决方案吗?

String-解题:罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。


字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。

通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

  • 示例 1:
输入: "III"
输出: 3

  • 示例 2:
输入: "IV"
输出: 4
  • 示例 3:
输入: "IX"
输出: 9
  • 示例 4:
输入: "LVIII"
输出: 58
解释: L = 50, V= 5, III = 3.
  • 示例 5:
输入: "MCMXCIV"
输出: 1994
解释: M = 1000, CM = 900, XC = 90, IV = 4.

Array-解题:旋转图像(NO.48)

给定一个 n × n 的二维矩阵表示一个图像。

将图像顺时针旋转 90 度。

  • 说明:
    你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

  • 示例 1:

给定 matrix = 
[
  [1,2,3],
  [4,5,6],
  [7,8,9]
],

原地旋转输入矩阵,使其变为:
[
  [7,4,1],
  [8,5,2],
  [9,6,3]
]
  • 示例 2:
给定 matrix =
[
  [ 5, 1, 9,11],
  [ 2, 4, 8,10],
  [13, 3, 6, 7],
  [15,14,12,16]
], 

原地旋转输入矩阵,使其变为:
[
  [15,13, 2, 5],
  [14, 3, 4, 1],
  [12, 6, 8, 9],
  [16, 7,10,11]
]

原题链接:https://leetcode-cn.com/problems/rotate-image/

码农周报第19、20期

码农周报第19、20期

码农周报推荐

译 | JavaScript函数的6个基本术语
摘要:可能你会很熟练,但名称不一定知道。

JavaScript 服务器推送技术之 WebSocket
摘要: WebSocket作为一种通信协议,属于服务器推送技术的一种,IE10+支持

Node.js 中的 Buffer 究竟是什么
摘要: 从前端转入 Node.js 的童鞋对这一部分内容会比较陌生,因为在前端中一些简单的字符串操作已经满足基本的业务需求,有时可能也会觉得 Buffer、Stream 这些会很神秘

用不了多久 Web Component,就能取代你的前端框架吗?
摘要:Web Component蛮早就有出现过,有时候需要时间……

有强迫症患者该如何用vscode开发Vue应用?
摘要:VSCode开发Vue.js应用几乎已经是前端的标配了,但很多时候我们看到的代码混乱不堪,作为一个前端工程师,这是不对的……

Javascript

其他

更多精彩

领略前端技术前沿,阅读IT平头哥联盟

Array-解题:删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次。

  • 示例 1:
给定数组 nums = [1,1,2], 

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 

你不需要考虑数组中超出新长度后面的元素。
  • 示例 2:
 给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

你不需要考虑数组中超出新长度后面的元素。

码农周刊第三周 - 2019.01.20

Array-解题:移动零(283)

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

  • 示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
  • 说明:

必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。

Array-解题: 合并两个有序数组(88)

给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。

  • 说明:

初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。

  • 示例:
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3

输出: [1,2,2,3,5,6]

码农周刊第二周 - 2019.01.13

Array-解题:数组形式的整数加法(NO:989)

对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。

给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。

  • 示例 1:
输入:A = [1,2,0,0], K = 34
输出:[1,2,3,4]
解释:1200 + 34 = 1234
  • 解释 2:
输入:A = [2,7,4], K = 181
输出:[4,5,5]
解释:274 + 181 = 455
  • 示例 3:
输入:A = [2,1,5], K = 806
输出:[1,0,2,1]
解释:215 + 806 = 1021
  • 示例 4:
输入:A = [9,9,9,9,9,9,9,9,9,9], K = 1
输出:[1,0,0,0,0,0,0,0,0,0,0]
解释:9999999999 + 1 = 10000000000
  • 提示:
  1. 1 <= A.length <= 10000
    2.0 <= A[i] <= 9
  2. 0 <= K <= 10000
    4.如果 A.length > 1,那么 A[0] != 0

码农周报第31、32期

码农周报第31、32期

码农周报推荐

非常牛X的纯CSS实现动态天气预报!
摘要:如何仅用CSS3,实现单标签的动态晴阴雨雪。技术关键点就是“单标签”和“纯CSS”……

JS箭头函数三连问:为何用、怎么用、何时用
摘要:在现代JS中最让人期待的特性就是关于箭头函数,用=>来标识。箭头函数有两个主要的优点:其一是非常简明的语法,另外就是直观的作用域和this的绑定……

深入理解 ESLint,就像了解你的另一半~
摘要:一个刚刚开始工作的前端实习生,第一次进行团队开发,难免有些紧张。在导师的安排下,拿到了项目的 git 权限,开始进行 clone……

在框架设计中寻求平衡~
摘要:由 simviso 团队对 JSConf.Asia 中关于 前端框架设计取舍 相关话题进行翻译的文档,内容并非直译,其中有一些是笔者自身的思考。而分享者正是 Vue.js 的作者 @尤雨溪……

Javascript

其他

更多精彩

  • 想与数十万前端一起交流、成长?
  • 加群主微信:su-south,邀请进入前端技术交流群,最新资源也会第一时间在群内公布。
    领略前端技术前沿,阅读IT平头哥联盟

码农周报第23、24期

码农周报第23、24期

码农周报推荐

前端组件设计原则
摘要:组件是大多数现代前端框架的基本概念之一……

如何将Web主页性能提升十倍以上?
摘要:我们将 Universe.com 主页的性能提升了十倍以上。在本文中,我们将解析实现这一重大改进的具体技术手段……

Vue.js 组件通信精髓归纳
摘要:组件 .vue),主要承载当前页面的 HTML 结构,会包含数据获取、数据整理、数据可视化等常规业务……

Javascript

其他

更多精彩

领略前端技术前沿,阅读IT平头哥联盟

Array-解题:旋转数组

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

  • 示例 1:
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]
  • 示例 2:
输入: [-1,-100,3,99] 和 k = 2
输出: [3,99,-1,-100]
解释: 
向右旋转 1 步: [99,-1,-100,3]
向右旋转 2 步: [3,99,-1,-100]
  • 说明:

尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
要求使用空间复杂度为 O(1) 的原地算法。

码农周刊第一周 - 2019.01.06

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.