leetcode

LeetCode做题第一天

ε祈祈猫儿з 提交于 2019-12-05 15:37:40
LeetCode做题第一天 最近太过清闲,不是打游戏就是打游戏,编程学习的都快忘完了,从今天起,每天刷一道力扣题。 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 ~~这是一道简单题,整数翻转,刚开始还想着将输入整数转换为字符串,在转换为列表,然后将列表倒置......(纯粹瞎搞)~~ 直接转换到字符串就行了,将它倒置,然后用rstrip去除末尾的负号(如果有的话),然后用int()强制转换为数字,然后问题就变得有意思多了。判断输入的数字是正数还是负数,如果是正数就返回该数字,否则返回负的该数字,是不是很简单呢?具体实现代码如下(python3) class Solution: def reverse(self, x: int) -> int: s = str(x)[::-1].rstrip('-') if int(s) <2**31: if x >= 0: return int(s) else: return 0 - int(s) else: return 0 来源

本周学习小结(25/11 - 01/12)

做~自己de王妃 提交于 2019-12-05 13:28:27
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 本周有进展。 学习笔记之C / C++ - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/10437163.html

分享一下自己的秋招历程

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

LeetCode 2. 两数相加

早过忘川 提交于 2019-12-05 12:35:38
LeetCode 2.两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 来源:力扣(LeetCode) 链接: https://leetcode-cn.com/problems/add-two-numbers /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public : ListNode * addTwoNumbers ( ListNode * l1 , ListNode * l2 ) { ListNode * result = new ListNode ( 0 ) ; //结果的头指针 ListNode * tail = new ListNode ( 0

20道链表问题

左心房为你撑大大i 提交于 2019-12-05 09:29:53
1. 如何在一次传递中找到单链表的中间元素? 答案:http://javarevisited.blogspot.sg/2012/12/how-to-find-middle-element-of-linked-list-one-pass.html 2. 如何在不使用递归的情况下反转单链表? 答案:http://javarevisited.blogspot.sg/2017/03/how-to-reverse-linked-list-in-java-using-iteration-and-recursion.html 3. 如何删除一个未排序链表中的重复节点? 答案:https://www.geeksforgeeks.org/remove-duplicates-from-an-unsorted-linked-list/ 4. 如何找出一个单链表的长度? 答案:http://javarevisited.blogspot.sg/2016/05/how-do-you-find-length-of-singly-linked.html 5. 如何查找链表是否包含循环?如何找出循环开始节点? 答案:http://javarevisited.blogspot.sg/2013/05/find-if-linked-list-contains-loops-cycle-cyclic-circular

LeetCode的两数之和

自作多情 提交于 2019-12-05 05:17:11
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 我的解答: public class TwoSum { public static void main(String[] args) { int[] arrays= {2, 7, 11, 15}; int target =26; TwoSum.twoSum(arrays,target); } public static int[] twoSum(int[] arrays ,int target) { Map<Integer,int[]> result = new HashMap<Integer,int[]>(); for(int i =0;i<arrays.length;i++){ for(int j=i;j<arrays

LeetCode:Fizz Buzz

好久不见. 提交于 2019-12-05 04:12:40
1、题目名称 Fizz Buzz(Fizz Buzz 游戏) 2、题目地址 https://leetcode.com/problems/fizz-buzz/ 3、题目内容 英文: Write a program that outputs the string representation of numbers from 1 to n . But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”. 中文: 编写一个程序,以字符串的形式从1输出到n,但遇到3的倍数时输出Fizz,遇到5的倍数时输出Buzz,遇到3和5的倍数时输出FizzBuzz 4、解题方法 FizzBuzz游戏可参考维基百科说明页面: https://en.wikipedia.org/wiki/Fizz_buzz 这个游戏最初被设计出来的目的是让小孩学习除法。 解题Java代码如下: import java.util.Arrays; import java.util.List; /** *

【LeetCode】387 First Unique Character in a String(java实现)

白昼怎懂夜的黑 提交于 2019-12-05 04:08:22
原题 Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1. Examples: s = "leetcode" return 0. s = "loveleetcode", return 2. Note: You may assume the string contain only lowercase letters. 题目要求 题目的意思是找出字符串中第一个不重复的字母,字符串中,如果存在该这样的字符,则返回字符在字符串中的索引值,如果不存在,则 返回-1 。注意:假设字符串中只有小写字母,这稍微简化了一下题目。 难度:Eazy 解法 解法:现在只要一看到字母,首先想到的解法就是一个26个元素的数组,索引表示字母,索引对应的值即出现的字数。对字符串进行两次遍历,第一次算出每个字符出现的次数,第二次遍历找出第一个字符即可。 public int firstUniqChar(String s) { int pos = -1; int []bits = new int[26]; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); ++bits[c

前端与算法 leetcode 125. 验证回文串

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 03:48:30
目录 # 前端与算法 leetcode 125. 验证回文串 题目描述 概要 提示 解析 解法一:api侠 解法二:双指针 算法 传入测试用例的运行结果 执行结果 GitHub仓库 查看更多 # 前端与算法 leetcode 125. 验证回文串 题目描述 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false 125. 验证回文串 概要 注意题目中提到的只考虑字母和数字字符以及忽略字母的大小写 提示 双指针 解析 解法一:api侠 通过疯狂调用api可以解决该问题,但是速度比较慢 解法二:双指针 题目说了考虑字母和数字,忽略大小写,可以先将原来的字符串通过正则替换掉随后全部转换为小写 再设置头尾两个指针一次比对,一旦不一致就返回false 算法 /** * @param {string} s * @return {boolean} */ var isPalindrome = function (s) { // s = s.match(/\w/g); // if (s === null || s.length <= 1) {return

前端与算法 leetcode 283. 移动零

≯℡__Kan透↙ 提交于 2019-12-05 03:48:25
目录 # 前端与算法 leetcode 283. 移动零 题目描述 概要 提示 解析 解法一:暴力法 解法二:双指针法 算法 传入 [0,1,0,3,12] 的运行结果 执行结果 GitHub仓库 # 前端与算法 leetcode 283. 移动零 题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 283. 移动零 概要 这个问题属于 “数组变换” 的一个广泛范畴。这一类是技术面试的重点。主要是因为数组是如此简单和易于使用的数据结构。遍历或表示不需要任何样板代码,而且大多数代码将看起来像伪代码本身。[[1]] 问题的要求很简单,将所有0移动到数组末尾且非0元素必须保持其原始顺序 提示 双指针,暴力法 解析 有意思的是,正常设计的算法,在遇到 [0,0,0,0,1],[1,0,0,0,0,1] 这两种数组的时候都比较尴尬,没办法有效的减少操作次数,这两个需求是相互排斥的,但是我们可以尽可能的在其中找到平衡 解法一:暴力法 暴力法使用一个 额外的数组 ,先将所有非0元素按照原顺序push到数组里同时用 count 统计0出现的次数,然后在 额外的数组 里再push count 个0