
算法程序设计
stupid!
这个作者很懒,什么都没留下…
展开
-
蓝桥杯JAVAB组_2014
第一题:武功秘籍 题目描述 小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。 小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走? 这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。 7 第二题:切面条 题目描述 一根高筋拉面,中间切一刀,可以得到2根面条。 如果先对折1次,中间切一刀,可以得到3根面条。 如果连续对折2次,中间切...原创 2022-05-11 09:27:35 · 189 阅读 · 0 评论 -
算法设计分析学习笔记(一)
二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法,可以在数据规模的对数时间复杂度内完成查找。 二分查找可以应用于数组,是因为数组具有有随机访问的特点,并且数组是有序的。 二分查找体现的数学思想是「减而治之」,可以通过当前看到的中间元素的特点推测它两侧元素的性质,以达到缩减问题规模的效果。 二分查找问题也是面试中经常考到的问题,虽然它的思想很简单,但写好二分查找算法并不是一件容易的事情。 以下是二分查找的相关练习,可以帮助你进一步了解二分查找,快来试试吧!原创 2021-11-22 14:18:23 · 523 阅读 · 0 评论 -
344. 反转字符串(双指针)
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e","h"] 示例 2: 输入:s = ["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"] class Solution { public void原创 2021-09-27 15:03:49 · 112 阅读 · 0 评论 -
合并数组(力扣)
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。 输入:nums1 = [1,2,3,0,0,0],原创 2021-09-26 15:39:14 · 230 阅读 · 0 评论 -
两数之和二分法
[167. 两数之和 II - 输入有序数组]二分法 给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。 你可以假设每个输入 只对应唯一的答案 ,而且你 不可以 重复使用相同的元素。 class S原创 2021-09-26 15:16:54 · 167 阅读 · 0 评论