leetcode

本周学习小结(28/10 - 03/11)

穿精又带淫゛_ 提交于 2019-12-02 15:05:56
LeetCode 本周有进展。需要及时复习。 学习笔记之LeetCode - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/5528520.html Explore - LeetCode - Design https://leetcode.com/explore/interview/card/top-interview-questions-medium/112/design/ Explore - LeetCode - Math https://leetcode.com/explore/interview/card/top-interview-questions-medium/113/math/ 学习笔记之Problem Solving with Algorithms and Data Structures using Python - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/10454395.html C++ / Database / Git / Linux / Python / MISC 本周有进展。继续学习了Python面向对象用法。 学习笔记之C / C++ - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p

2019年9月Github上最热门的JavaScript开源项目

天涯浪子 提交于 2019-12-02 14:30:30
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 2019年9月Github上最热门的JavaScript开源项目 前端开发 前端开发 微信号 qianduan1024 功能介绍 专注于Web前端技术文章分享,包含JavaScript、HTML5、CSS3等前端基础知识,以及Vue.js,React,Augular等前端框架 来自:开源最前线(ID:OpenSourceTop) 9 月份 GitHub 上最热门的JavaScript 开源项目排行已经出炉啦,从前端学习资料到技术面试宝典,从免费开源的前端书籍到 算法刷题库....... 1Web https://github.com/qianguyihao/ Web Star 7127 前端入门和进阶学习笔记,超详细的Web前端学习图文教程。 从零开始学前端,做一个Web全栈工程师。 2google-access-helper https://github.com/haotian-wang/google-access-helper Star 4780 最简单易用的谷歌访问助手,为chrome扩展用户量身打造。 可以解决chrome扩展无法自动更新的问题,同时可以访问谷歌google搜索、gmail邮箱、google+等谷歌服务。 3tech-interview

Leetcode 300 最长上升子序列 C++,Python,Java

喜欢而已 提交于 2019-12-02 11:27:19
Leetcode300 最长上升子序列 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-increasing-subsequence 博主Github : https://github.com/GDUT-Rp/LeetCode 题目: 给定一个无序的整数数组,找到其中最长上升子序列的长度。c 示例 1: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O( n 2 n^2 n 2 ) 。 解题思路: 方法一:带记忆的递归 直观想法 在前面的方法中,许多递归调用必须使用相同的参数进行一次又一次的调用。通过将为特定调用获得的结果存储在二维记忆数组 memo 中,可以消除这种冗余。 m e m o [ i ] [ j ] memo[i][j] m e m o [ i ] [ j ] 表示使用 n u m s [ i ] nums[i] n u m s [ i ] 作为上一个被认为包含/不包含在 lis 中的元素的 lis 可能的长度,其中 n u m s [ j ] nums[j] n u m s [ j ] 作为当前被认为包含

用golang刷LeetCode

别说谁变了你拦得住时间么 提交于 2019-12-02 11:01:36
用golang刷LeetCode 用Go语言刷LeetCode记录,只是为了练习Go语言,能力有限不保证都是最优解,只能在此抛转引玉了。 数据结构和算法 数据结构和算法是程序员的命根子,没了命根子也就没有了尊严。 1. 两数之和 题目描述 力扣(LeetCode)链接 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 我的解法 func twoSum(nums []int, target int) []int { l := len(nums) for i:=0;i<l;i++{ for j:=i+1;j<l;j++{ if nums[i]+nums[j] == target{ return []int{i,j} } } } return []int{} } 2. 两数相加 题目描述 力扣(LeetCode)链接 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果

LeetCode初级算法--排序和搜索01:第一个错误的版本

白昼怎懂夜的黑 提交于 2019-12-02 09:14:27
LeetCode初级算法--排序和搜索01:第一个错误的版本 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ csdn:https://blog.csdn.net/abcgkj/ github:https://github.com/aimi-cn/AILearners 一、引子 这是由LeetCode官方推出的的经典面试题目清单~ 这个模块对应的是探索的初级算法~旨在帮助入门算法。我们第一遍刷的是leetcode推荐的题目。 查看完整的剑指Offer算法题解析请点击github链接: github地址 二、题目 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。 示例: 给定 n = 5,并且 version = 4

LeetCode第283题移动零(Python)

不想你离开。 提交于 2019-12-02 09:12:20
LeetCode第283题移动零(Python) 题目描述 解题方法和思路 设定两个索引,交换元素 题目描述 给定一个数组 nums ,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例1: 输入 : [ 0 , 1 , 0 , 3 , 12 ] 输出 : [ 1 , 3 , 12 , 0 , 0 ] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/move-zeroes/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 解题方法和思路 带*的表示参考其他人的是实现 设定两个索引,交换元素 思路: 初始化索引 p 和 q ,位置为数组中第一个 0 元素出现的地方的索引,例如如下所示: [ 0 , 1 , 0 , 3 , 12 ] ^ p = q 前进 q 索引,碰到非零元素则和 p 索引交换,交换完成后 p 索引自加1 复杂度: 时间复杂度: O ( n ) O(n) O ( n ) 空间复杂度:无需额外数据空间, O ( 1 ) O(1) O ( 1 ) 代码: class Solution : def moveZeroes ( self , nums : List [ int ] ) - > None :

分享一下自己的秋招历程

落花浮王杯 提交于 2019-12-02 06:19:19
前言 今天是1024程序员节,博主是2020届硕士,就在前几天刚刚结束了2019年的秋招,借此机会分享一下秋招的一些历程和心得。 秋招情况 先总体介绍一下秋招的情况,岗位是java后端,大概是投了 30多家公司,简历挂掉的只有陌陌一家,还有几个投了一直在筛选,笔试挂掉的有360,网易,拼多多(太菜了拼多多笔试了三次都没过),远景智能(这个有个英语测评,我得了个最低分估计是这个给我挂了),还有来学校的几个猫眼,绿盟,金山云等,大部分笔试还是都过了的。面试的20多家拿到了五家的offer,按时间顺序来有映客直播,华为,阅文集团(腾讯文学),瓜子二手车,百度。博主最后选择是百度,AT和其他大厂基本上都没投,一方面毕业在即另一方面自己准备也不算太充分,拿到了百度就选择结束秋招了。 备战秋招过程 下面讲一下自己准备的过程,说起秋招准备,我是属于那种起了个大早干了个晚集的那种。我是在18年年底在算法和开发纠结了一番,最后选择了开发。然后19年年初就开始准备了,因为本身有java基础,所以直接从javaweb开始看的,先看了一些jsp,servlet,session,html,js等相关的基础知识,并跟着视频做了个简单的商城项目。春节过后,先是在实验室忙了一些毕设相关的事情,然后又做了一些其他的工作,业余时间我刷了两遍剑指offer,到了五一那会儿,我开始决定做一个SSM的商城项目xx商城

leetcode 1189. “气球” 的最大数量

旧街凉风 提交于 2019-12-02 05:24:27
原题 给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。 示例 1: 输入:text = “nlaebolko” 输出:1 示例 2: 输入:text = “loonbalxballpoon” 输出:2 示例 3: 输入:text = “leetcode” 输出:0 提示: 1 <= text.length <= 10^4 text 全部由小写英文字母组成 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-number-of-balloons 方法一 ($) 思路 1. 创建一个flagMap记录关键词的每个字母出现次数 2. 创建textMap记录text中各字母出现次数 3. 遍历flagMap 得到在text中出现flag对应字母的倍数之后返回最少出现的次数; JavaScript代码 var maxNumberOfBalloons1 = function (text) { const flag = "balloon"; let textMap = {}; let flagMap = {}; let minN = Infinity; for

【LeetCode】220. Contains Duplicate III

会有一股神秘感。 提交于 2019-12-02 04:58:55
Difficulty:easy More: 【目录】LeetCode Java实现 Description https://leetcode.com/problems/contains-duplicate-iii/ Given an array of integers, find out whether there are two distinct indices i and j in the array such that the absolute difference between nums[i] and nums[j] is at most t and the absolute difference between i and j is at most k . Example 1: Input: nums = [1,2,3,1], k = 3, t = 0 Output: true Example 2: Input: nums = [1,0,1,1], k = 1, t = 2 Output: true Example 3: Input: nums = [1,5,9,1,5,9], k = 2, t = 3 Output: false Intuition 1. treeSet 2. bucket (future work) Solution TreeSet public

程序员必须掌握哪些算法?

北慕城南 提交于 2019-12-02 04:45:46
程序员必须掌握哪些算法? 算法: 1、排序算法:快速排序、归并排序、计数排序 2、搜索算法:回溯、递归、剪枝 3、图论:最短路径、最小生成树、网络流建模 4、动态规划:背包问题、最长子序列、计数问题 5、基础技巧:分治、倍增、二分法、贪心算法 数据结构: 1、数组和链表 2、栈与队列 3、树和图 4、哈希表 5、大/小跟堆,可并堆 6、字符串:字典树、后缀树 还可以在此基础上细分,例如单单排序算法就可以分为以下十种: 对于学习算法,我推荐在力扣上刷题: 力扣 (LeetCode) 官网 - 全球极客挚爱的技术成长平台leetcode-cn.com 此外,推荐一个用动画的形式演示 LeetCode 上的题目的项目: https://github.com/MisterBooo/LeetCodeAnimationgithub.com 例如基础的 冒泡排序法 演示如下: 选择排序法: 插入排序法: 希尔排序法: 归并排序法: 快速排序法: 堆排序: 计数排序: 桶排序: 基数排序: 该项目正在完善中,已经用动画的形式演示出了一下题目: 汇总 [MisterBooo/LeetCodeAnimationgithub.com] 此外,再推荐一些免费的学习资源: 在学习的时候,要想为什么要这样设计,优点在哪里,有什么改进方法,逐步通过这样的方式提升逻辑思维能力。不懂就查,找学习资料和相关解答