Remove to_vec from day2
More refactoring soon.
This commit is contained in:
		
							parent
							
								
									4d60fb3e23
								
							
						
					
					
						commit
						cc904a4ea1
					
				
					 1 changed files with 22 additions and 22 deletions
				
			
		
							
								
								
									
										44
									
								
								src/day2.rs
									
										
									
									
									
								
							
							
						
						
									
										44
									
								
								src/day2.rs
									
										
									
									
									
								
							| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
use std;
 | 
					use std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn compute_intcode(p: &mut Vec<usize>) -> Vec<usize> {
 | 
					fn compute_intcode(p: &mut Vec<usize>) {
 | 
				
			||||||
    for idx in (0..(p.len())).step_by(4) {
 | 
					    for idx in (0..(p.len())).step_by(4) {
 | 
				
			||||||
        match p[idx] {
 | 
					        match p[idx] {
 | 
				
			||||||
            1 => {
 | 
					            1 => {
 | 
				
			||||||
| 
						 | 
					@ -16,10 +16,9 @@ fn compute_intcode(p: &mut Vec<usize>) -> Vec<usize> {
 | 
				
			||||||
                p[res] = p[left] * p[right];
 | 
					                p[res] = p[left] * p[right];
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            99 => break,
 | 
					            99 => break,
 | 
				
			||||||
            _ => panic!("Something went wrong!"),
 | 
					            _ => panic!("invalid opcode"),
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    p.to_vec()
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn part_one() {
 | 
					pub fn part_one() {
 | 
				
			||||||
| 
						 | 
					@ -32,7 +31,9 @@ pub fn part_one() {
 | 
				
			||||||
    input[1] = 12;
 | 
					    input[1] = 12;
 | 
				
			||||||
    input[2] = 2;
 | 
					    input[2] = 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    println!("Intcode [0] is: {}", compute_intcode(&mut input)[0]);
 | 
					    compute_intcode(&mut input);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    println!("Intcode [0] is: {}", input[0]);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn part_two() {
 | 
					pub fn part_two() {
 | 
				
			||||||
| 
						 | 
					@ -52,8 +53,8 @@ pub fn part_two() {
 | 
				
			||||||
        input[1] = i;
 | 
					        input[1] = i;
 | 
				
			||||||
        for j in 0..99 {
 | 
					        for j in 0..99 {
 | 
				
			||||||
            input[2] = j;
 | 
					            input[2] = j;
 | 
				
			||||||
            let mut input_guess = input.clone();
 | 
					            let mut computed = input.clone();
 | 
				
			||||||
            let computed = compute_intcode(&mut input_guess);
 | 
					            compute_intcode(&mut computed);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            found = computed[0] == lookup_num;
 | 
					            found = computed[0] == lookup_num;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,20 +77,19 @@ pub fn part_two() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[test]
 | 
					#[test]
 | 
				
			||||||
fn test_part_one() {
 | 
					fn test_part_one() {
 | 
				
			||||||
    assert_eq!(
 | 
					    let mut intcode = vec![1, 0, 0, 0, 99];
 | 
				
			||||||
        compute_intcode(&mut vec!(1, 0, 0, 0, 99)),
 | 
					    compute_intcode(&mut intcode);
 | 
				
			||||||
        vec!(2, 0, 0, 0, 99)
 | 
					    assert_eq!(intcode, vec!(2, 0, 0, 0, 99));
 | 
				
			||||||
    );
 | 
					
 | 
				
			||||||
    assert_eq!(
 | 
					    let mut intcode = vec![2, 3, 0, 3, 99];
 | 
				
			||||||
        compute_intcode(&mut vec!(2, 3, 0, 3, 99)),
 | 
					    compute_intcode(&mut intcode);
 | 
				
			||||||
        vec!(2, 3, 0, 6, 99)
 | 
					    assert_eq!(intcode, vec!(2, 3, 0, 6, 99));
 | 
				
			||||||
    );
 | 
					
 | 
				
			||||||
    assert_eq!(
 | 
					    let mut intcode = vec![2, 4, 4, 5, 99, 0];
 | 
				
			||||||
        compute_intcode(&mut vec!(2, 4, 4, 5, 99, 0)),
 | 
					    compute_intcode(&mut intcode);
 | 
				
			||||||
        vec!(2, 4, 4, 5, 99, 9801)
 | 
					    assert_eq!(intcode, vec!(2, 4, 4, 5, 99, 9801));
 | 
				
			||||||
    );
 | 
					
 | 
				
			||||||
    assert_eq!(
 | 
					    let mut intcode = vec![1, 1, 1, 4, 99, 5, 6, 0, 99];
 | 
				
			||||||
        compute_intcode(&mut vec!(1, 1, 1, 4, 99, 5, 6, 0, 99)),
 | 
					    compute_intcode(&mut intcode);
 | 
				
			||||||
        vec!(30, 1, 1, 4, 2, 5, 6, 0, 99)
 | 
					    assert_eq!(intcode, vec!(30, 1, 1, 4, 2, 5, 6, 0, 99));
 | 
				
			||||||
    );
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue