【408 2019算法题目】教程文章相关的互联网学习教程文章

C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数【代码】

各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例:输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 题目地址 https://leetcode-cn.com/problems/add-digits/ 代码模板public class Solution {public int AddDigits(int num) {} } 测试数据输入 1 输出 1输入 10 输出...

算法题|-分治法解决最大子数组问题【代码】

分治法就是将一个复杂难解决问题拆成一些容易解决的小问题,再依次解决而最终解决整个问题 new int[] { 2, -3, 4, 67, 6 } 这样一个下标为0到4的数组,要找最大子数组,需要将其拆分成两个子数组,mid=(0+4)/2 即为0~mid的左数组和mid+1~4的右数组 最大子数组可能会出现在以下三个地方左数组中的某个最大子数组 右数组中的某个最大子数组 以mid为界,向左找到一个最大数组,向右找到一个最大数组,将两个数组合并第三种情况非常容...

LeetCode算法题-Next Greater Element I(Java实现)【代码】

这是悦乐书的第244次更新,第257篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第111题(顺位题号是496)。你有两个数组(没有重复)nums1和nums2,其中nums1的元素是nums2的子集。在nums2的相应位置找到nums1元素的所有下一个更大的数字。nums1中的数字x的下一个更大数字是nums2中右边第一个更大的数字。如果它不存在,则输出该数字的-1。例如: 输入:nums1 = [4,1,2],nums2 = [1,3,4,2]。 输出:[-1,3,-1] 说明:...

LeetCode算法题-Max Consecutive Ones(Java实现)【代码】

这是悦乐书的第242次更新,第255篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第109题(顺位题号是485)。给定二进制数组,找到此数组中连续1的最大数量。例如: 输入:[1,1,0,1,1,1] 输出:3 说明:前两位或后三位是连续的1。连续1的最大数量为3。 注意:输入数组只包含0和1。 输入数组的长度是一个正整数,不会超过10,000。本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语...

BAT七年经验,却抵不过外企面试的两道算法题?【图】

又遇年底跳槽季,如果你曾在 BAT 等互联网大厂有过较为丰富的工作经验,想要换份工作,面试时会主要考虑哪些因素?面试外企,却被两道算法题难住?近日,一位网友在脉脉上吐槽,称自己工作经验丰富,去面试 Hulu(打马赛克),结果却是:“我就郁闷了,在阿里工作五年,去面试 Hulu,上来啥都不问,就两道算法题我没有第一时间给出最优解,想了一会儿才做出来,结果就把我挂了,工作那么多年了,还这样面试也是令人醉了。”很快,这...

LeetCode算法题-Guess Number Higher or Lower(Java实现)【代码】

这是悦乐书的第211次更新,第224篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第79题(顺位题号是374)。我们正在玩数字游戏。 游戏如下:我从1到n中选择一个数字。 你必须猜测我选择了哪个数字。每次你猜错了,我都会告诉你这个数字是高还是低。您调用预定义的API guess(int num),它返回3个可能的结果(-1,1或0): -1:我的数字较低 1:我的数字更高 0:猜对了! 例如: 输入:n = 10,pick = 6 输出:6 本次解...

LeetCode算法题-Implement Queue Using Stacks(Java实现)【代码】

这是悦乐书的第195次更新,第201篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第57题(顺位题号是232)。使用栈实现队列的以下操作。 push(x) - 将元素x推送到队列的后面。 pop() - 从队列前面删除元素。 peek() - 获取前面的元素。 empty() - 返回队列是否为空。 例如: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); //返回1 queue.pop(); //返回1 queue.empty...

LeetCode算法题-Implement Stack Using Queues【代码】

这是悦乐书的第193次更新,第198篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第54题(顺位题号是225)。使用队列实现栈的以下操作: push(x) - 将元素x推入栈。 pop() - 删除栈顶部的元素。 top() - 获取顶部元素。 empty() - 返回栈是否为空。 例如: MyStack stack = new MyStack(); stack.push(1); stack.push(2); stack.top(); //返回2 stack.pop(); //返回2 stack.empty(); //返回false ...

LeetCode算法题-Remove Linked List Elements(Java实现)【代码】

这是悦乐书的第189次更新,第191篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第48题(顺位题号是203)。移除单链表中节点值为val的节点。例如: 输入:1-> 2-> 6-> 3-> 4-> 5-> 6,val = 6 输出:1-> 2-> 3-> 4-> 5 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法 特殊情况:当给定的链表中的节点值与val全都相等时,此时需要返回空。 正常情...

一道算法题

关于数组!!! //问题:给你n个无序的int整型数组arr,并且这些整数的取值范围都在0-20之间,要你在 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。//问题:给你n个无序的int整型数组arr,并且这些整数的取值范围都在0-20之间,要你在 O(n) 的时间复杂度中把这 n 个数按照从小到大的顺序打印出来。 public class Test2 {public void f(int arr[]) {int[] temp = new int[21];for (int i = 0; i < arr.length; i++) ...

FreeCodeCamp 初级算法题 - 翻转字符串(Reverse a String)

题目Link中文Link英语Link级别: Basic Algorithm ScriptingReverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串。 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招Read-Search-Ask。 这是一些对你有帮助的资源:Global String ObjectString.split()Array.reverse()Array.join()reverseString("hello") 应该返回一个字符串 reverseString("hello") 应...

LeetCode算法题-Single Number(Java实现)【代码】

这是悦乐书的第175次更新,第177篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第34题(顺位题号是136)。给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次。 找到那个只出现了一次的元素。例如:输入:[2,2,1] 输出:1输入:[4,1,2,1,2] 输出:4本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。02 第一种解法 因为已经限定传入的数组不为空,所...

LeetCode算法题-Merge Sorted Array(Java实现)【代码】

这是悦乐书的第161次更新,第163篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第20题(顺位题号是88)。给定两个排序的整数数组nums1和nums2,将nums2中的元素合并到nums1中,并且作为一个排序的数组。在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]本次解...

【算法】LeetCode算法题-Maximum Subarray【代码】

这是悦乐书的第154次更新,第156篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第13题(顺位题号是53)。给定一个整数数组nums,找出一个最大和,此和是由数组中索引连续的元素组成,至少包含一个元素。例如:输入:[-2, 1, -3, 4, -1, 2, 1, -5,4] 输出:6 说明:[4,-1,2,1]具有最大的和为6输入:[1, 2, 3] 输出:6 说明:[1, 2, 3]具有最大的和为6本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是w...

LeetCode算法题-C#代码实现-栈(一)【代码】

20. Valid Parentheses 有效的括号 解题思路 将括号比较后者后,不同的入栈,相同的出栈,最后字符串遍历结束后栈为空则匹配成功。public bool IsValid(string s) {//声明字典,括号匹配键值对Dictionary<char, char> dict = new Dictionary<char, char>();dict.Add(), ();dict.Add(], [);dict.Add(}, {);Stack<char> stack = new Stack<char>();//遍历字符s,直到遍历s所有字符结束循环for (int i = 0; i < s.Length; i++){//栈空...