mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 06:07:20 +08:00 
			
		
		
		
	Add TS for chapter of computational complexity
This commit is contained in:
		@ -0,0 +1,34 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: gyt95 (gytkwan@gmail.com) 
 | 
			
		||||
 * @Date: 2022-12-15 11:26:38 
 | 
			
		||||
 * @Last Modified by: gyt95 (gytkwan@gmail.com)
 | 
			
		||||
 * @Last Modified time: 2022-12-15 11:38:22
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
function twoSumBruteForce(nums: number[], target: number): number[] {
 | 
			
		||||
  let n = nums.length;
 | 
			
		||||
  // 两层循环,时间复杂度 O(n^2)
 | 
			
		||||
  for (let i = 0; i < n; i++) {
 | 
			
		||||
    for (let j = i + 1; j < n; j++) {
 | 
			
		||||
      if (nums[i] + nums[j] === target) {
 | 
			
		||||
        return [i, j]
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return [];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function twoSumHashTable(nums: number[], target: number): number[] {
 | 
			
		||||
  // 辅助哈希表,空间复杂度 O(n)
 | 
			
		||||
  let m: Map<number, number> = new Map()
 | 
			
		||||
  // 单层循环,时间复杂度 O(n)
 | 
			
		||||
  for (let i = 0; i < nums.length; i++) {
 | 
			
		||||
    let index = m.get(nums[i])
 | 
			
		||||
    if (index !== undefined) {
 | 
			
		||||
      return [index, i]
 | 
			
		||||
    } else {
 | 
			
		||||
      m.set(target - nums[i], i)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return [];
 | 
			
		||||
};
 | 
			
		||||
@ -96,7 +96,18 @@ comments: true
 | 
			
		||||
=== "TypeScript"
 | 
			
		||||
 | 
			
		||||
    ```typescript title="leetcode_two_sum.ts"
 | 
			
		||||
 | 
			
		||||
    function twoSumBruteForce(nums: number[], target: number): number[] {
 | 
			
		||||
      let n = nums.length;
 | 
			
		||||
      // 两层循环,时间复杂度 O(n^2)
 | 
			
		||||
      for (let i = 0; i < n; i++) {
 | 
			
		||||
        for (let j = i + 1; j < n; j++) {
 | 
			
		||||
          if (nums[i] + nums[j] === target) {
 | 
			
		||||
            return [i, j]
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return [];
 | 
			
		||||
    };
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
=== "C"
 | 
			
		||||
@ -199,7 +210,20 @@ comments: true
 | 
			
		||||
=== "TypeScript"
 | 
			
		||||
 | 
			
		||||
    ```typescript title="leetcode_two_sum.ts"
 | 
			
		||||
 | 
			
		||||
    function twoSumHashTable(nums: number[], target: number): number[] {
 | 
			
		||||
      // 辅助哈希表,空间复杂度 O(n)
 | 
			
		||||
      let m: Map<number, number> = new Map()
 | 
			
		||||
      // 单层循环,时间复杂度 O(n)
 | 
			
		||||
      for (let i = 0; i < nums.length; i++) {
 | 
			
		||||
        let index = m.get(nums[i])
 | 
			
		||||
        if (index !== undefined) {
 | 
			
		||||
          return [index, i]
 | 
			
		||||
        } else {
 | 
			
		||||
          m.set(target - nums[i], i)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return [];
 | 
			
		||||
    };
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
=== "C"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user