摘要: Description 给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组。 说明: 初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于 m + n)来保存nums2中的元素。 示例: 阅读全文
posted @ 2020-07-01 11:25 arcsinW 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 问题描述 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动一个盘子; (2) 盘子只能从柱子顶端滑出移到下一根柱子; (3 阅读全文
posted @ 2020-05-30 19:22 arcsinW 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 问题描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 分析 方法一 层与层之间用NULL分隔 5 / \ 3 7 / \ / \ 2 4 6 8 队列中元素变化 5# #37 37# 7#24 #2468 2468 vector<vector<int> > Print(Tree 阅读全文
posted @ 2020-05-29 10:54 arcsinW 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Description Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. That is, for each nums[i] you have to c 阅读全文
posted @ 2020-05-27 19:06 arcsinW 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Description Given an array, rotate the array to the right by k steps, where k is non-negative. Follow up: Try to come up as many solutions as you can, 阅读全文
posted @ 2020-05-27 19:05 arcsinW 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 问题描述 输入一个链表,输出该链表中倒数第k个结点。 分析 使用快慢指针法 初始slow指针指向头节点,fast指针头节点后k-1个节点,两个指针都向后移动,直到fast到达链表尾部 ListNode* FindKthToTail(ListNode* pListHead, unsigned int 阅读全文
posted @ 2020-05-25 09:26 arcsinW 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 问题描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE :给出的所有元素都大于0,若数组大小为0,请返回0 分析 思路 阅读全文
posted @ 2020-05-24 23:12 arcsinW 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 问题描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 分析 计算$base^{exponent}$,正好最近在学密码学,想到了快速幂算法,可以减少乘法次数 $base^{1}$、 $base 阅读全文
posted @ 2020-05-24 23:11 arcsinW 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 问题描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、 、 、/四则运算符号。 分析 使用位运算,计算机内部就是用门电路做运算的 可以看作是 无进位加法 可以用来计算进位,需要左移一位 Reference 1. "位运算加法 简书" 阅读全文
posted @ 2020-05-24 23:10 arcsinW 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 问题描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析 n = n & (n 1) 可以除去n的二进制位中最后一个1 阅读全文
posted @ 2020-05-24 14:17 arcsinW 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 问题描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 分析 链表只能顺序访问,但要求逆序地返回链表中的元素 遍历链表存到临时空间(栈或数组都行),再逆序输出到最终结果 反转链表,遍历链表到最终结果 临时空间 遍历链表,将数据插入栈,逆向遍历临时空间,将数据插入最终结果数组 C++ 阅读全文
posted @ 2020-05-23 23:03 arcsinW 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 问题描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 分析 乍一看不就一个replace解决问题,的确这样是能AC的 如下面这个C 版的,一行就能解决 如果不用自带的replace偷懒 阅读全文
posted @ 2020-05-23 16:58 arcsinW 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 问题描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析 抛开二维数组的有序性质,直接遍历二维数组找是否含有一个数,算法复杂度为$O(n^2)$ 考 阅读全文
posted @ 2020-05-23 11:07 arcsinW 阅读(84) 评论(0) 推荐(0) 编辑
摘要: Description Given an integer array , find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Examp 阅读全文
posted @ 2020-05-18 21:31 arcsinW 阅读(77) 评论(0) 推荐(0) 编辑
摘要: Description Given an array , write a function to move all s to the end of it while maintaining the relative order of the non zero elements. Example: N 阅读全文
posted @ 2020-04-11 16:47 arcsinW 阅读(82) 评论(0) 推荐(0) 编辑