 punkboy

punkboy
18小时前
/**
* struct ListNode {
*     int val;
*     struct ListNode *next;
* };
*
* Note: The returned array must be malloced, assume caller calls free().
*/

int arr;
struct ListNode * pre = NULL;
struct ListNode * cur = head;
while(cur)
{
struct ListNode * next = cur->next;
cur->next = pre;
pre = cur;
cur = next;
}
int i = 0;
while(pre)
{
//printf("%d ", pre->val);
arr[i++] = pre->val;
pre = pre->next;
}
return arr;
}


punkboy
4天前
#include <stdio.h>

int main()
{
int n;
scanf("%d ", &n);
for(int i=1; i<=10; i++)     printf("%d x %d = %d\n", i, n, i*n);
return 0;
}


punkboy
4天前
#include <iostream>
#define pi 3.14159

using namespace std;

int main()
{
double R;
cin>>R;
double output = pi*R*R;
printf("A=%.4lf", output);
return 0;
}


punkboy
25天前

#### C++ 代码

// y总思路的 c语言版
void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}

int duplicateInArray(int *nums, int n){
for(int i=0; i<n; i++)
{
if(nums[i]<0||nums[i]>n-1) return -1;
}
for(int i=0; i<n; i++)
{
while(nums[i]!=i && nums[i]!=nums[nums[i]])  swap(&nums[i],&nums[nums[i]]);
//出现重复数字后无法 满足后一个条件直接跳出while 否则继续每次移动一个数到正确的位置
if(nums[i]!=i)    return nums[i];
}
return -1;
}


punkboy
1个月前

#### C 代码
struct ListNode* findKthToTail(struct ListNode* pListHead, int k) {
while(cur1)
{
k--;
cur1 = cur1->next;
if(k<0)
{
cur2 = cur2->next;
}
}
if(k<=0)
return cur2;
else
return NULL;
}


punkboy
6个月前
#include<iostream>
using namespace std;
int main()
{
double mid,l,r;
double n;
cin>>n;
l=-10000;
r=10000;
while(r-l>=1e-7)
{
mid=(l+r)/2;
if(mid*mid*mid>=n)r=mid;
else l=mid;
}
printf("%lf",l);
}
//这里填你的代码^^
//注意代码要放在两组三个点之间，才可以正确显示代码高亮哦~


punkboy
9个月前

#### C++ 代码

/**
* Definition for a binary tree node.
* struct TreeNode {
*     int val;
*     struct TreeNode *left;
*     struct TreeNode *right;
*     struct TreeNode *father;
* };
*/
struct TreeNode* inorderSuccessor(struct TreeNode* p) {
if(p->right)    //有右孩子
{
p = p->right;
while(p->left)  p = p->left;    //右子树的最左儿子
return p;
}
else  if(p->father)   //没有右孩子，则回溯父节点
{
if(p == p->father->right)   return p->right;     //右子树适用，返回null
if(p->father->right) return p->father;   //左子树适用,返回父节点
}
}


punkboy
9个月前
#include <iostream>
#include <vector>
#include <cstdio>

using namespace std;

const int N = 9;
int n;
vector<int> ans;
bool st[N];

void dfs(int u) //u表示当前的层数
{
if(n==u)
{
for(int i=0; i<n; i++)
printf("%d ", ans[i]);
printf("\n");
return;
}

for(int i=1; i<=n; i++) //将1到n依次填入不同的层数
{
if(!st[i])  //判断第i个数是否已经使用
{
st[i] = true;
ans.push_back(i);
dfs(u+1);   //遍历下一层
st[i] = false;  //恢复现场
ans.pop_back();
}
}
}

int main()
{
cin>>n;
dfs(0);
return 0;
}

//这里填你的代码^^
//注意代码要放在两组三个点之间，才可以正确显示代码高亮哦~


punkboy
9个月前
//这里填你的代码^^
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>

using namespace std;

const int N = 15;
int st[N];  //记录每个数字或者不选的状态,0表示还未考虑；1表示选择；2表示不选
int n;

void dfs(int u)
{
if(u==n)
{
for(int i=0; i<=n; i++)
if(st[i]==1)
printf("%d ", i+1);
printf("\n");   //输出回车
return; //每一个小分支的出口
}
//以下为分治
st[u] = 2;  //不选第一个分支
dfs(u+1);   //递归进入下一个分支
st[u] = 0;  //恢复现场

st[u] = 1;  //选择第一个分支
dfs(u+1);   //递归进入下一个分支
st[u] = 0;  //恢复现场
}

int main()
{
cin >> n;
dfs(0);
return 0;
}
//注意代码要放在两组三个点之间，才可以正确显示代码高亮哦~


punkboy
9个月前
#include <stdio.h>
int n;
int ans;

void f(int n)   //递推时间复杂度为On
{
ans = 0;
ans = 1;
for(int i=2; i<n; i++)
{
ans[i] = ans[i-1]+ans[i-2];
}
for(int i=0; i<n; i++)
{
printf("%d ", ans[i]);
}
return;
}

int main()
{
scanf("%d", &n);
f(n);
return 0;
}