算法分析与设计
文章平均质量分 92
marwi_study
一个不甘堕落的卑微打工人♂️
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法题(二)
个人在秋招和春招的时候刷了一些题目,主要是来自leetcode,通过学习别人的题解和个人的尝试,整理了一些题目较优的解法,现在分享给大家,可能对你的思维方式会有一丢丢的启发 链表 1. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? /** * Definition for singly-lin原创 2021-05-06 10:14:13 · 273 阅读 · 0 评论 -
算法题(一)
个人在秋招和春招的时候刷了一些题目,主要是来自leetcode,通过学习别人的题解和个人的尝试,整理了一些题目较优的解法,现在分享给大家,可能对你的思维方式会有一丢丢的启发 数组 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9原创 2021-05-01 10:28:12 · 1113 阅读 · 0 评论 -
算法之对症下药(二)
位运算是一种偏向于计算机底层的操作,需要我们比较了解计算机底层是如何运行的,比如二进制、补码、按位与、按位或等知识,虽然理解计算机底层来思考问题会比较复杂,也比较反人类,但是位运算却可以高效地运算(很简单的道理,编译器不需要先去理解语句的语义再转成机器语言,可以直接进行二进制运算),所以在算法题目中适当地运用一些位运算可以帮助我们AC题目 文章目录计算机的编码机制原码反码补码位运算按位与运算按位或运算异或运算左移右移运算运用位运算解决算法题题目1:数值的整数次方题目2:二进制中1的个数 计算机的编码机制 原原创 2020-05-30 15:02:14 · 426 阅读 · 0 评论 -
算法题目之对症下药(一)
在算法题目中,对于不同类型的题目多多少少都有相对应的较为高效的数据结构和算法,这也是体现程序员价值所在的地方。 链表求倒数第k个的题目 这篇文章想分享的链表题目是题干中出现链表求倒数第k个的题目。 链表的特点(区别于数组)即是不连续存储,没有下标,所以不能直接获得想要的第几个元素,而必须从头遍历到想要的位置才能取到对应位置的内容,它的优点是增删比数组来得快,因为可以直接将某一个结点插入到一个链表中或者从一个链表中删除,而不涉及到大量数据的移动。因此在程序设计中,如果增删比较频繁,我们应该优先考虑链表;而查原创 2020-05-27 13:14:42 · 377 阅读 · 0 评论 -
最大子序列和|算法分析
题目要求:给定一个数序列,计算出其子序列和的最大值 输入样例:4 -3 5 -2 -1 2 6 -2 输出样例:11 一、穷举法 我们最容易想到的是穷举法,就是将所有可能的情况列举出来然后比较得到最大的那个,如下: int MaxSubsequenceSum(int a[] , int n) { int thisSum, maxSum, i, j, k; maxSum = 0; for(i=...原创 2019-10-08 11:26:35 · 486 阅读 · 0 评论
分享