//n个2*1 2n
@Test
public void demo() {
System.out.println(test(4));
}
public int test(int n) {
if (n==1) {
return 1;
}
if (n==2) {
return 2;
}
return test(n-1)+test(n-2);
}
11
https://www.cnblogs.com/graphics/archive/2010/06/21/1752421.html
移位:
@Test
public void demo() {
System.out.println(test(10));
}
int test(int n) {
int c=0;
while (n>0) {
if ((n&1)==1) {
c++;
}
n>>=1;
}
return c;
}
12
@Test
public void demo() {
System.out.println(test(2,-2));
}
double test(double base,int exp) {
if (exp == 0) {
return 1;
}
if (exp == 1) {
return base;
}
if (exp>1) {
double result = test(base, exp>>1);
result = result*result;
if ((exp&1)==1) {
result = result*base;
}
return result;
}
if (exp<0) {
exp = -exp;
double result= test(base,exp);
return 1/result;
}
return -1;
}
14
https://www.cnblogs.com/tianzeng/p/10176914.html
@SpringBootTest
class AlluxioApplicationTests {
@Test
public void demo() {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);
listNode1.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;
System.out.println(test(listNode1,2).val);
}
ListNode test(ListNode root,int k) {
int n=0;
ListNode listNode1 = root;
while (listNode1!=null) {
n++;
listNode1 = listNode1.next;
}
if (k>n) {
return null;
}
int i=1;
ListNode listNode2 = root;
while (i<n-k+1) {
listNode2 = listNode2.next;
i++;
}
return listNode2;
}
}
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}
@SpringBootTest
class AlluxioApplicationTests {
@Test
public void demo() {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);
listNode1.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;
System.out.println(test(listNode1,5).val);
}
ListNode test(ListNode root,int k) {
ListNode listNode1 = root;
ListNode listNode2 = root;
int i=0;
while (i<k) {
listNode1 = listNode1.next;
i++;
}
while (listNode1!=null) {
listNode2 = listNode2.next;
listNode1 = listNode1.next;
}
return listNode2;
}
}
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}
15
@SpringBootTest
class AlluxioApplicationTests {
/**
* // 1->2->3
* // p1 p2
* /**
* * p3 = p2.next
* * p2.next=p1;
* * p1=p2;
* * p2=p3;
* */
*/
@Test
public void demo1() {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);
listNode1.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;
ListNode result = test(listNode1);
System.out.println(result.val);
System.out.println(result.next.val);
System.out.println(result.next.next.val);
System.out.println(result.next.next.next.val);
}
public ListNode test(ListNode root) {
ListNode listNode1 = null;
ListNode listNode2 = root;
ListNode listNode3 = null;
while (listNode2!=null) {
listNode3 = listNode2.next;
listNode2.next=listNode1;
listNode1=listNode2;
listNode2=listNode3;
}
return listNode1;
}
}
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}