算法题

以下是为您整理出来关于【算法题】合集内容,如果觉得还不错,请帮忙转发推荐。

【算法题】技术教程文章

【算法】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++){//栈空...

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]本次解...

算法题——给定一个数组 arr,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。【代码】

参考自:https://blog.csdn.net/qq_38200548/article/details/80688630示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明:1.必须在原数组上操作,不能拷贝额外的数组。2.尽量减少操作次数。package suanfa;public class demo2 {public static void main(String[] args) {//随便定义一个数组int[] arr={1,2,0,3,0,4,5,0};moveZeros(arr);for (int i : arr) {System.out.print(i+" ");}}private static void moveZeros(int[...