LeetCode27.็งป้คๅ ็ด ๐๐๐๐๐็ฎๅ
้ฎ้ขๆ่ฟฐ
ๅๆ้พๆฅ็่ฟ้๏ผ27. ็งป้คๅ ็ด
็ปไฝ ไธไธชๆฐ็ป nums ๅไธไธชๅผ val๏ผไฝ ้่ฆ ๅๅฐ ็งป้คๆๆๆฐๅผ็ญไบ val ็ๅ
็ด ๏ผๅนถ่ฟๅ็งป้คๅๆฐ็ป็ๆฐ้ฟๅบฆใ
ไธ่ฆไฝฟ็จ้ขๅค็ๆฐ็ป็ฉบ้ด๏ผไฝ ๅฟ
้กปไป
ไฝฟ็จ O(1) ้ขๅค็ฉบ้ดๅนถ ๅๅฐไฟฎๆน่พๅ
ฅๆฐ็ปใ
ๅ ็ด ็้กบๅบๅฏไปฅๆนๅใไฝ ไธ้่ฆ่่ๆฐ็ปไธญ่ถ ๅบๆฐ้ฟๅบฆๅ้ข็ๅ ็ด ใ
่ฏดๆ:
ไธบไปไน่ฟๅๆฐๅผๆฏๆดๆฐ๏ผไฝ่พๅบ็็ญๆกๆฏๆฐ็ปๅข?
่ฏทๆณจๆ๏ผ่พๅ ฅๆฐ็ปๆฏไปฅใๅผ็จใๆนๅผไผ ้็๏ผ่ฟๆๅณ็ๅจๅฝๆฐ้ไฟฎๆน่พๅ ฅๆฐ็ปๅฏนไบ่ฐ็จ่ ๆฏๅฏ่ง็ใ
ไฝ ๅฏไปฅๆณ่ฑกๅ ้จๆไฝๅฆไธ:
// nums ๆฏไปฅโๅผ็จโๆนๅผไผ ้็ใไนๅฐฑๆฏ่ฏด๏ผไธๅฏนๅฎๅไฝไปปไฝๆท่ด
int len = removeElement(nums, val);
// ๅจๅฝๆฐ้ไฟฎๆน่พๅ
ฅๆฐ็ปๅฏนไบ่ฐ็จ่
ๆฏๅฏ่ง็ใ
// ๆ นๆฎไฝ ็ๅฝๆฐ่ฟๅ็้ฟๅบฆ, ๅฎไผๆๅฐๅบๆฐ็ปไธญ ่ฏฅ้ฟๅบฆ่ๅดๅ
็ๆๆๅ
็ด ใ
for (int i = 0; i < len; i++) {
print(nums[i]);
}
็คบไพ 1๏ผ
่พๅ
ฅ๏ผnums = [3,2,2,3], val = 3
่พๅบ๏ผ2, nums = [2,2]
่งฃ้๏ผๅฝๆฐๅบ่ฏฅ่ฟๅๆฐ็้ฟๅบฆ 2, ๅนถไธ nums ไธญ็ๅไธคไธชๅ
็ด ๅไธบ 2ใไฝ ไธ้่ฆ่่ๆฐ็ปไธญ่ถ
ๅบๆฐ้ฟๅบฆๅ้ข็ๅ
็ด ใไพๅฆ๏ผๅฝๆฐ่ฟๅ็ๆฐ้ฟๅบฆไธบ 2 ๏ผ่ nums = [2,2,3,3] ๆ nums = [2,2,0,0]๏ผไนไผ่ขซ่งไฝๆญฃ็กฎ็ญๆกใ
็คบไพ 2๏ผ
่พๅ
ฅ๏ผnums = [0,1,2,2,3,0,4,2], val = 2
่พๅบ๏ผ5, nums = [0,1,4,0,3]
่งฃ้๏ผๅฝๆฐๅบ่ฏฅ่ฟๅๆฐ็้ฟๅบฆ 5, ๅนถไธ nums ไธญ็ๅไบไธชๅ
็ด ไธบ 0, 1, 3, 0, 4ใๆณจๆ่ฟไบไธชๅ
็ด ๅฏไธบไปปๆ้กบๅบใไฝ ไธ้่ฆ่่ๆฐ็ปไธญ่ถ
ๅบๆฐ้ฟๅบฆๅ้ข็ๅ
็ด ใ
ๆ็คบ๏ผ
0 <= nums.length <= 1000 <= nums[i] <= 500 <= val <= 100