刷题记录
文章平均质量分 51
TINA_DD
生命不息,学习不止。
展开
-
各种算法准确实现
多种排序算法快排//快排void quickSort(int *array,int left,int right) { if (left < right) { int pivot = array[left]; int low = left, high = right; while (low < high) { while (low < high && array[high] > pivot) { --high; }原创 2021-03-28 09:41:53 · 188 阅读 · 0 评论 -
daily coding problems
Problem #1 [Easy]问题描述:Given a list of numbers and a numberk, return whether any two numbers from the list add up tok.For example, given[10, 15, 3, 7]andkof17, return true since10 + 7is17.Bonus: Can you do this in one pass?思路1:/*用ha...原创 2021-03-12 19:52:46 · 147 阅读 · 0 评论 -
LeetCode 739. 每日温度
两种方法:方法一:优化后的暴力搜索正常暴力搜索,就是遍历数组,对于每个温度向后查找到第一个高于当前温度的日期,对应的日期差即距离优化后的暴力搜索从后往前遍历,对于当前日期的温度也是向后查找到第一个高于当前温度的日期优化步骤:用一个变量a记录当前遇到的最高温度,这样可以用来减小不必要的搜索用一个数组b记录要想观测到更高的气温,至少需要等待的天数用一个数组c记录下一个更高气温对应的温度,这样减小重复搜索vector<int>dailyTemperatures(..原创 2020-12-21 14:25:26 · 81 阅读 · 0 评论 -
leetcode 738. 单调递增的数字
思路1:从前往后遍历,找到第一个出现降序的位置i,即 N_i > N_i+1,考虑到会出现连续相等的N_i,找到第一个N_i,使其-1.其后面的数都变为9。算法过程:边界:if N<10 直接返回Ni:记录从前往后遍历的下标pre_equal_i:记录第一个跟当前数字相等的下标代码intmonotoneIncreasingDigits(intN){if(N<10)returnN;//将N转化为字符串...原创 2020-12-16 21:05:15 · 179 阅读 · 0 评论 -
6.ZigZag Conversion-leetcode
个人感觉这就是一道找规律的题目,所以把规律找出来问题也就迎刃而解了。两种方法,个人感觉算法本质是一样的,因为要遍历整个字符串,所以最小时间复杂度也是O(n)。方法一:由于是要一行一行存储,所以可以用一个字符串数组,大小为numRows,然后遍历字符串,把当前字符存到对应的行字符串中,最后一次连接每行的字符串。关键找到字符串的每个字符下标和对应行数的关系。class Solution...原创 2019-02-21 20:42:45 · 171 阅读 · 0 评论