算法
稀里糊涂啊哈
我写博客就是为了记录平时学习过程中遇到的问题以及记录学习笔记,方便以后复习,仅此而已。
展开
-
c语言单链表实现一元多项式的相加
把任意给定的两个一元多项式P(x),Q(x)输入计算机,计算它们的和并输出计算结果。 一元多项式可以用单链表表示,结点结构图示如下:coef exp next;伪代码如下:1. 工作指针p、q初始化;2. while(p存在且q存在)执行下列三种情形之一 2.1 如果p->exp<q->exp,则指针p后移; 2.2 如果p->exp>q-...原创 2018-04-20 20:03:05 · 18041 阅读 · 6 评论 -
约瑟夫问题
1.问题描述约瑟夫环问题的基本描述如下:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,要求找到最后一个出列的人或者模拟这个过程。2.实现代码 public static void yuesefu(int totalNum,int countNum){...原创 2020-03-16 15:58:29 · 111 阅读 · 0 评论 -
LeetCode算法之 第一个只出现一次的字符
一、问题描述:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。示例:s = "abaccdeff"返回 "b"s = "" 返回 " "二、解决思路:1、LinkHashMappublic char firstUniqChar(String str) { if (str == null || str.equals("")){ ...原创 2020-03-15 16:20:05 · 197 阅读 · 0 评论 -
常用的排序算法
排序算法归总:一、冒泡排序/** * 冒泡排序 * 时间复杂度:与数组的初始序列相关 * 平均时间复杂度:O(n^2) 空间复杂度:O(1) 稳定 * 最好:O(n) * 最差:O(n^2) */ public static void maoPaoSort(int[] nums){ for(int i...原创 2020-03-06 21:55:30 · 124 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----整数反转
一、问题概述给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−2^31, 2^31− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例:示例1:输入: 123输出: 321示例2:输入: -123输出: -321二、解决办法:class Solu...原创 2020-02-28 17:12:00 · 700 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----有效的括号
一、题目概述给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例:示例1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "([)]"输出: fa...原创 2020-02-28 14:47:19 · 271 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----无重复字符的最长子串
一、题目概述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例:示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。二、解决方法双指针法class Solution {...原创 2020-02-27 19:52:11 · 353 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----买股票的最佳时机
一、问题概述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例:示例1:输入: [7,1,5,3,6,4]输出: 5解释: 在第2天(股票价格= 1)的时候买入,在第5天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = ...原创 2020-02-26 18:38:51 · 606 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----三数之和
一、问题简述给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2020-02-26 16:22:53 · 233 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----两数相加
一、问题概述给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -&...原创 2020-02-25 15:57:24 · 247 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之-----删除排序数组中的重复项
一、题目概述给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例:示例1给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面...原创 2020-02-25 12:49:57 · 267 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之-----合并两个有序数组
一、题目简述给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = ...原创 2020-02-25 12:44:02 · 221 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----最大子序列和
一、问题阐述给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。二、解决方案1、暴力法 :两次for循环时间复杂度:O(n²)class Solution { public ...原创 2020-02-25 16:23:01 · 828 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之-----反转链表
一、问题简述反转一个单链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL二、解决方案我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。第二个指针 cur 指向 head,然后不断遍历 cur。每次迭代到 cur,都将 cur 的 next ...原创 2020-02-21 17:10:26 · 396 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之-----合并两个有序链表
一、题目简述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4二、解决办法1、迭代:/** * Definition for singly-linked list. * public cl...原创 2020-02-21 11:46:28 · 304 阅读 · 0 评论 -
LeetCode 字节跳动(ByteDance)企业题库算法之----两数之和
一、问题描述给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...原创 2020-02-20 17:08:52 · 821 阅读 · 0 评论