
LeetCode
J_aSON_
这个作者很懒,什么都没留下…
展开
-
31. 下一个排列 leetcode算法题c语言解法
代码:void swap(int *a,int*b){ int t =*a; *a = *b; *b = t;}void nextPermutation(int *nums,int numsSize){ if (numsSize == 0) { return; } int i,j;// 从后往前找到第一个后面比前面大的数 for (i = numsSize - 2; i>=0 && nu.原创 2020-11-01 20:45:48 · 201 阅读 · 0 评论 -
LeetCode简单贪心------1029.两地调度
思路:这个题的关键在于明白如何取舍,谁应该去B。我们先假设所有人都去A,于是,我们要在所有去A的人中挑出去B的,那去B的应该满足什么条件呢?他应该满足,去B后,省的钱最多,所以我们只要把差值算出来,然后排一下序把最省钱的一半人挑去B市就好了。下面是C的代码typedef struct _price{ int priceA; int priceB; int pricecha;}price;int cmp(const void *a, const void *b){ .原创 2020-07-15 12:50:02 · 327 阅读 · 0 评论 -
暑假数据结构学习 -----递归与分治概念
4.3 递归4.31分治1.什么是分治?2.分治法的三个步骤?3.使用分治法,子问题需要满足的条件。4.什么是减治?5.分治法作为一种算法思想,有哪几种实现手段?这说明了什么?4.32递归6.递归逻辑中的两个重要概念。答案1.分治法将原问题划分为若干个规模较小而结构与原问题相似的子问题,然后分别解决这些子问题,最后合并子问题的解,即可得到为原问题的解。2.分治法的三个步骤:1.分解:将原问题分解为若干和原问题拥有相同或相似结构的子问题。 2.解决:递归求解所有子问题原创 2020-07-14 10:52:35 · 241 阅读 · 0 评论 -
LeetCode复习C语言中的问题编译出错:variable-sized object may not be initialized
**结论:**使用变量定义长度时,不可在定义时同时进行初始化赋值,需要在之后进行赋值。我们在定义可变长数组时: int a = 10;char s[a] ;//编译不报错//char s[a]=“123”;//这样是不可以的原创 2020-07-08 20:04:46 · 1633 阅读 · 0 评论 -
LeetCode中函数题中“多出来的参数“---returnsize
转载:关于returnSize第一次在leetcode上瞎逛就遇到了就遇到了它~int* twoSum(int* nums, int numsSize, in...转载 2020-07-08 18:14:54 · 9041 阅读 · 9 评论 -
LeetCode难度简单:9.回文数,进阶:你能不将整数转为字符串来解决这个问题么
进阶思路:利用求余,取出最后一位,乘10,通过多次乘10来把原来的整数的最后一位提升至第一位。bool isPalindrome(int x){ long res = 0; int temp = x; while(temp >0)//这个思路的核心 { res = res*10 +temp%10; temp/=10; } if(res == x) { return true; } els原创 2020-07-08 10:49:41 · 337 阅读 · 0 评论