009-LeetCode算法解题总结分析
一、概述
算法是解决问题的过程。
一般步骤:
1、具体问题抽象化;2、抽象问题数据结构化;3、针对结构化的问题寻找对应的解决方案;
如:有m个大小不一的砝码,重量不等,按个数均分为n份,每份质量接近。
具体问题抽象化:有m个数,大小不等,分成 n份,每份m/n个,数字之和接近
抽象问题数据结构化:m=10个数:{1,3,34,23,45,57,2,82,12,71},分成 n=5;
解决方案:……
二、LeetCode算法解决思路
2.1、取余(%)、取商(/)
如 123 对 10,取余 123%10=3,取商123/10=12,注意整型;
如整数反转:https://leetcode-cn.com/problems/reverse-integer/、回文数:https://leetcode-cn.com/problems/palindrome-number/
2.2、空间换时间,巧用数据结构
如两数之和:https://leetcode-cn.com/problems/two-sum/