- 博客(8)
- 收藏
- 关注
原创 LeetCode除自身以外数组的乘积
思考过程:求乘积后除以当前位的数字,但是题目不允许;方法二:遍历两次数组,先从左到右,计算当前位左边的乘积,然后依次存储在一个数组中,然后从右向左遍历数组,依次计算当前位右边的乘积值,对应的与之前在数组中的数据相乘,最后得到相应的值class Solution {public:vector productExceptSelf(vector& nums) {int length = ...
2019-03-05 13:28:22 94
原创 LeetCode字符串单词反转
一开始想到的笨方法,外层循环循环以空格为标志位,一次截取单词反转,更新输入数据,进行处理;超级慢,第二个是借鉴大佬的,简单,高效class Solution {public:string reverseWords(string s) {int length = s.size();string c = “”;while(1){string a = s.substr(0,s.find_f...
2019-03-04 16:51:48 236
原创 leetcode344:反转字符串
遍历,交换;class Solution {public:void reverseString(vector& s) {char tmp;int size = s.size();for(int i = 0 ; i<size/2 ; i++){tmp = s[i];s[i] = s[size-i-1];s[size-i-1] = tmp;}}};...
2019-03-03 19:58:37 91
原创 LeetCode 字符串相乘
使用字符串类型的数字模拟数字乘法,可以进行大数运算;思路:分别遍历两个字符串,按位取出每一位上字符类型的数字,变成int类型后相乘,然后存储在一个新的数组中,模拟进位,计算每一位上的数值,最后变成string类型;代码:class Solution {public:string multiply(string num1, string num2) {string res;int n1...
2019-03-02 19:33:11 136
原创 leetcode11:盛水最多的容器
class Solution {public:int maxArea(vector& height) {int length = height.size();int cur = 0;int max = 0;for (int i=0; i<length; i++){for (int j=i+1; j<length; j++){cur = height[i] >...
2019-03-01 09:42:23 87
转载 LeetCode26删除排序数组中的重复项
遍历,对比,更新class Solution {public:int removeDuplicates(vector& nums) {if (nums.size()== 0) {return 0;}int number = 0;for (int i = 0; i < nums.size(); i++) {if (nums[number] != nums[i]) {...
2019-02-28 21:30:21 111
原创 编程TASK1
1.实现可以动态扩容的数组:思路:新建数组的时候,将数组的容量大小设置为一个变量,如果数组容量不够的时候,可以将原来数据扩大原来的几倍,进行扩容;也可以直接使用c++中的vector容器,不必考虑原数组的大小,如果需要增加元素,直接v.pushback();即可;2.将两个有序数组合并成一个有序数组:思路:类似归并排序的套路,先根据两个数组的大小新建一个新的数组,然后利用归并排序的想法将两个...
2019-02-28 18:29:33 183
原创 leetcode_20
leetcode_20 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。想法一:首先判断字符串的长度的奇偶性,如果是奇数,程序终止运行,如果是偶数,则分别从字符串的两端读取字符并比较,查看是否配对,知道两个字符的下标差为1(左边下标小于右...
2019-02-27 16:49:58 113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人