关于去程go关键字的使用问题
package main import ( "fmt" "time" ) func main() { go sheep(1) go sheep(2) time.Sleep(time.Millisecond) } func sheep(i int) { for ; ; i += 2 { fmt.Println(i, "只羊") } } 上面是关于去程的一个简单程序,结果应该是输出顺序的整数,但我只能输出奇数,这是什么原因啊...阅读全文
package main import ( "fmt" "time" ) func main() { go sheep(1) go sheep(2) time.Sleep(time.Millisecond) } func sheep(i int) { for ; ; i += 2 { fmt.Println(i, "只羊") } } 上面是关于去程的一个简单程序,结果应该是输出顺序的整数,但我只能输出奇数,这是什么原因啊...阅读全文
123456789101112package mainimport ( "fmt")func main(){ //调用 loop1() sum2()}第1种形式12345678func loop1(){//形式1for i:=0;i<10;i++{ fmt.Println(i) }}第2种形式12345678func loop2(){//形式二 i:=0for ;i<10;i++{ fmt.Println(i) }}第3种形式1234567891011func loop3(){//第三种形式 i:=0for ;;i++{if(i>20){break } fmt.Println(i) }}第4种形式1234567891011func loop4(){//第四种形式 i:=0for ; ; {i...阅读全文
@TOC 代码如下 package main import ( "fmt" "time" ) var POOL = 100 func groutine1(p chan int) { for i := 1; i <= POOL; i++ { p <- i if i%2 == 1 { fmt.Println("groutine-1:", i) } } } func groutine2(p chan int) { for i := 1; i <= POOL; i++ { <-p if i%2 == 0 { fmt.Println("groutine-2:", i) } } } func main() { msg := make(chan int) go groutine1(msg) go grou...阅读全文
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路 先将数组遍历一次,然后记录奇数的个数(因为奇数在前,偶数在后) 2.将数组拷贝出一份副本,然后遍历拷贝的副本 3.若是奇数原数组从第一个位置开始覆盖数据,否则从奇数个数的位置开始覆盖数据 Java代码实现 public void reOrderArray(int [] array) { int oddCount = 0; int evenCount = 0; int[] array2 = array.clone(); for (int i = 0; i < array.length; i++) { if(ar...阅读全文
Golang: 思路:这题除了提醒我们审题的重要性,没有其他意义。简单来说,找一下数组里奇数和偶数的数目各有多少,然后返回那个少的。 代码如下: func minCostToMoveChips(chips []int) int { numeven:=0 numodd:=0 for i:=0;i
Golang: 思路:把奇数位和偶数位的字符全部找出来,然后排序在组合起来,建个map看下情况即可 代码如下: func superEggDrop(K int, N int) int { if K==1{ return N } mat:=make([][]int,K+1) for k,_:=range mat{ mat[k]=make([]int,N+1) } for k,_:=range mat[1]{ mat[1][k]=k } for i:=2;i<=K;i++{ for j:=1;j<=N;j++{ low,high:=1,j for low+1